GH6 2022-08-28 18:26 采纳率: 50%
浏览 27
已结题

P1010 [NOIP1998 普及组] 幂次方


#include<bits/stdc++.h>
using namespace std;
string run(int x,int i=0,string s=string("")){
    if(x==0)return string("0");
    do if(x&1)s=(i==1?"2":"2("+run(i)+")")+(s==""?"":"+")+s;//拼接字符串,应题意,要把低次方接在后面
    while(++i,x>>=1);//每次向右移位
    return s;
}
int main(){
    int x;cin>>x;
    cout<<run(x)<<endl;
}
  • 写回答

2条回答 默认 最新

  • harmis_yz 2022-08-28 18:49
    关注
    
    #include<bits/stdc++.h>
    
    using namespace std;
    
    string p(int x,int i=0,string a=string(""))
    {
        if(x==0)
        {
            return string("0");
        }
        
        do 
        {
            if(x&1)
            {
                a=(i==1?"2":"2("+p(i)+")")+(a==""?"":"+")+a;
            }
        }
        while(++i,x>>=1);
        
        return a;
    }
    
    long long aa;
    
    int main()
    {
        cin>>aa;
        
        cout<<p(aa);
        
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 8月28日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制