???求大佬指点
查看原帖
???求大佬指点
768144
_Trangle_楼主2022/8/29 23:10
#include<cstdio>
using namespace std;
int a[16],x;
bool first=true;
void npow(int n){
    int i=x-1;
    while(n)
        for(;i>=0;i--)
            if(a[i]<=n){
                n-=a[i];
                if(first) first=false;
                else putchar('+');
                if(i>1){
                    printf("2(");
                    first=true;
                    npow(i);
                    putchar(')');
                    break;
                }
                if(i==1) putchar('2');
                if(!i) printf("2(0)");
            }
}

int main(){
    int n;
    scanf("%d",&n);
    a[0]=1;
    for(x=1;a[x]<=n;x++) a[x]=a[x-1]*2;
    npow(n);
    return 0;
}
2022/8/29 23:10
加载中...