project euler problem 16:2^1000结果各位数求和
2013-10-06 14:51
501 查看
题意:就是求2^1000之后,结果各位数求和。
思路:看到这题的时候有种似曾相识的感觉,因为POJ 1604求的是阶乘,所以方法是一样的。
而1604的方法如下:
都是求的是大数相乘,所以高精度的方法一样。因为做过,方法还记得,只要改下循环里面的 i 就行了。具体如下:这是我所以用的,不用字符数组的求法,简单明了,而且很实用,这是大神们创造出来的!!!
思路:看到这题的时候有种似曾相识的感觉,因为POJ 1604求的是阶乘,所以方法是一样的。
而1604的方法如下:
for(i=2;i<=n;i++) { c=0; for(j=0;j<M;j++) { s=f[j]*i+c; f[j]=s%10; c=s/10; } }
都是求的是大数相乘,所以高精度的方法一样。因为做过,方法还记得,只要改下循环里面的 i 就行了。具体如下:这是我所以用的,不用字符数组的求法,简单明了,而且很实用,这是大神们创造出来的!!!
#include <iostream> #include <map> #include <string> #include <cstring> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; #define M 3000 int f[M]; int main() { int j,i,c,s,sum=0; memset(f,0,sizeof(f)); f[0]=1; for(i=1; i<=1000; i++) { c=0; for(j=0; j<1000; j++) { s=f[j]*2+c; f[j]=s%10; c=s/10; } } for(j=0; j<3000; j++) sum+=f[j]; cout<<sum<<endl; return 0; }
相关文章推荐
- Project Euler Problem 16
- http://projecteuler.net/problem=16 [Answer:1366]
- 斐波那契数列偶数项求和(Project Euler Problem 2)
- Project Euler Problem 16
- Project Euler Problem 25 1000-digit Fibonacci number
- Project Euler Problem 16 Power digit sum
- Project Euler problem 16
- Project Euler Problem 25 :1000-digit Fibonacci number
- project euler problem 11:Largest product in a grid
- project euler problem 15
- http://projecteuler.net/problem=21 [Answer:31626]
- Project Euler Problem 17
- project euler Problem 18 & 36
- Project Euler Problem 75
- Project Euler Problem 10
- Project Euler Problem 6: Sum square difference
- Project Euler Problem 543 Prime-Sum Numbers
- Project Euler problem 4
- Project Euler problem 17
- Project Euler problem 25