全RE求助!!!
查看原帖
全RE求助!!!
373226
justinjia楼主2021/2/6 14:52
#include"stdio.h"
#include"iostream"
#include"string"
#include"math.h"
using namespace std;
string work(int n){
    if(n==1)
        return "2(0)";
    else if(n==2)
        return "2";
    else{
        string ans="";
        int k,y[30];
        while(n!=0){
			y[k++]=n%2;
			n/=2;
		}
		k--;
		while(k>=1)
			if(y[k]){
			    if(ans!="")
			        ans.append("+");
			    ans.append("2(").append(work(k)).append(")");
			}
		return ans;
    }
}
int main(void){
    int n;
    scanf("%d",&n);
    cout<<work(n);
    return 0;
}
2021/2/6 14:52
加载中...