|
|
4鱼币
//题目16:2的1000次方的各位之和是多少?
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i,k,l,m=0;
int sum=0;
int array[1000]={0};
array[0]=1;
for(i=1;i<=1000;i++)//完成2的1000次方
{
for(k=0;k<1000;k++)//完成对一个数的*2
{
if(array[k]!=0)
{
array[k]=array[k]*2;
}
for(l=0;l<=k+2;l++)//检验从个位到所有可能要进1的位
{
if(array[l]>=10)
{
array[l]=array[l]%10;
array[l+1]=array[l+1]+1;
}
}
}
}
printf("%d\n",array[0]);
for(i=0;i<1000;i++)
{
sum=array[i]+sum;
}
printf("2的1000次方的各位之和是:%d\n",sum);
return 0;
}
你进位的循环……是不是套错位置了。
- #include<stdio.h>
- #include<stdlib.h>
- int main(void)
- {
- int i,k,l,m=0;
- int sum=0;
- int array[1000]={0};
- array[0]=1;
- for(i=1;i<=1000;i++)//完成2的1000次方
- {
- for(k=0;k<1000;k++)//完成对一个数的*2
- {
- array[k]=array[k]*2;
- }
-
- for(l=0;l<=1000;l++)//检验从个位到所有可能要进1的位
- {
- if(array[l]>=10) {
- array[l]=array[l]%10;
- ++array[l+1];
- }
- }
- }
- for(i=0;i<1000;i++)
- {
- sum=array[i]+sum;
- }
-
- printf("2的1000次方的各位之和是:%d\n",sum);
-
- return 0;
- }
复制代码
应该先乘,再考虑进位。
|
最佳答案
查看完整内容
你进位的循环……是不是套错位置了。
应该先乘,再考虑进位。
|