这道题其实可以看作是:十进制转二进制的问题。
如果你基础不太好没关系,记住十进制转二进制的口诀:除二取余
#include<stdio.h>
int try(int n,int r);
int main()
{
int n;
scanf("%d",&n);
if(n>=1){
try(n,0);
}
else
printf("Data Error!!!\n");
return 0;
}
int try(int n,int r){
if(n==1){
printf("2(%d)",r);
}
else{
try(n/2,r+1);
if(n%2==1){
printf("+2(%d)",r);
}
}
}