编辑代码

#include <stdio.h>
#include <math.h>
void tr(int n);
int main(){
    int num=15;
    tr(num);
}
void tr(int n){
    int p=0;
    if(n==1) {printf("2(0)");return;}
    if(n==2) {printf("2(1)");return;}
    while(n>=pow(2,p))p++;
    p--;
    printf("2(%d)+",p);
    n=n-pow(2,p);
    tr(n);
}
// #include <math.h>
// int main () {
//     int num=10,p=0;
//     while(num>0)
//     {
//         p=getMaxP(num);
//         printf("2(%d)+",p);
//         num=num-pow(2,p);
//     }
// }
// int getMaxP(int n){
//     int p=0;
//     while(n>=pow(2,p))p++;
//     p--;
//     return p;
// }