解题思路:除2取余
注意事项:
超过100万的数,增加数组的大小。
参考代码:
#include<iostream>
#include<cstdio>
using namespace std;
int a[20],A=0;
int main()
{
int n,temp,num,ans,i;
cin>>n;
num=n;
temp=1;
ans=0;
while(n){
if(n%2==1){
A++;
a[A]=temp;
}
n/=2;
temp*=2;
}
cout<<num<<'=';
for(i=A;i>=2;i--)
cout<<a[i]<<'+';
cout<<a[1]<<endl;
return 0;
}
0.0分
1 人评分
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1229 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:603 |
C语言训练-斐波纳契数列 (C语言代码)浏览:776 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:605 |
【回文数(二)】 (C语言代码)浏览:728 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1419 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1222 |
【排队买票】 (C语言代码)浏览:899 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:905 |
简单的for循环浏览:1408 |