Project Euler——Problem 16 - Daybreakcx's Blog - Keep Programming! With Algorithm! With Fun!
Project Euler——Problem 16
daybreakcx
posted @ 2009年7月19日 17:41
in Prject Euler
, 983 阅读
原题与答案:
Problem 16
03 May 2002
215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
What is the sum of the digits of the number 21000?
Answer:1366
分析与解答:
这个题目题意很直接,就是求各位数的和,直接的做法就是用高精度乘法直接求得结果,然后进行求和,程序也十分容易编写,的位数是。程序源代码如下所示:
-
#include<stdio.h>
-
#include<string.h>
-
int a[400],i,j,s;
-
int main()
-
{
-
memset(a,0,sizeof(a));
-
a[0]=a[1]=1;
-
for (i=1;i<=1000;i++)
-
{
-
for (j=1,s=0;j<=a[0];j++)
-
{
-
a[j]=a[j]*2+s;
-
s=a[j]/10;
-
a[j]%=10;
-
}
-
if (s) a[++a[0]]=s;
-
}
-
for (i=1,s=0;i<=a[0];i++) s+=a[i];
-
return 0;
-
}