注解
1、简单枚举,把100以内的2的次方数都列举出来,只要找到相等的就输出,如果大于,就减去。
代码
#include <iostream>
using namespace std;
int main() {
int a[] = {64, 32, 16, 8, 4, 2, 1};
int n;
cin>>n;
while(n){
for(int i=0; i<7; i++){
if(n>a[i]){
n -= a[i];
}
if(n==a[i]){
cout<<n<<endl;
break;
}
}
cin>>n;
}
return 0;
}
结果
来源:CSDN
作者:zhanggirlzhangboy
链接:https://blog.csdn.net/zhanggirlzhangboy/article/details/103605101