欧拉计划
zhengzibin
这一站广轻下一站北京
展开
-
Project Euler -> problem 6
6. 前十个自然数的平方和是: 1^2 + 2^2 + ... + 10^2 = 385 前十个自然数的和的平方是: (1 + 2 + ... + 10)^2 = 55^2 = 3025 所以平方和与和的平方的差是3025 - 385 = 2640. 找出前一百个自然数的平方和与和平方的差。 int main(void) { long i,j=0,k=0; for(i=1;原创 2013-08-22 15:33:58 · 286 阅读 · 0 评论 -
Project Euler -> problem 5
5. 2520是最小的能被1-10中每个数字整除的正整数。 最小的能被1-20中每个数整除的正整数是多少? int divided(int i); int main(void) { int i,j; for(i=2520;;i++){ j = divided(i); if(j){ printf("%d\n",i);原创 2013-08-22 15:33:56 · 533 阅读 · 0 评论 -
Project Euler -> problem 11
11. 在以下这个2020的网格中,四个处于同一对角线上的相邻数字用红色标了出来: 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 5原创 2013-08-22 15:34:11 · 376 阅读 · 0 评论 -
Project Euler -> problem 7
int main(void) { int i,u,j=0; for(i=2;;i++){ int flag = 1; for(u=2;u*u if(i%u == 0){ flag = 0; break; } } if(flag == 1) j++; if(原创 2013-08-22 15:34:00 · 249 阅读 · 0 评论 -
Project Euler -> problem 3
3.13195的质数因子有5,7,13和29。600851475143的最大质数因子是多少? #include void MaxPrine(unsigned long long u); int main(void) { unsigned long long i=13195,u=600851475143; MaxPrine(i); MaxPrine(u); re原创 2013-08-22 15:33:51 · 250 阅读 · 0 评论 -
Project Euler -> problem 2
2. 斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。 int main(void) { int a[3]={1,2,0},i=0; while(a[2] a[2] = a[0] +原创 2013-08-22 15:33:49 · 274 阅读 · 0 评论 -
Project Euler -> problem 1
1. 10以下的自然数中,属于3和5的倍数的有3,5,6和9,它们之和是23. 找出1000以下的自然数中,属于3和5的倍数的数字之和。 int main(void) { int i,j=0; for(i=1;i //求3的倍数 if(i%3==0) j+=i; //求5的倍数 else if(i%5==0)原创 2013-08-22 15:33:47 · 282 阅读 · 0 评论 -
Project Euler -> problem 12
12. 三角形数序列是由对自然数的连加构造而成的。所以第七个三角形数是1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. 那么三角形数序列中的前十个是: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... 下面我们列出前七个三角形数的约数: 1: 1 3: 1,3 6: 1,2,3,6 10: 1,2,5,10 15: 1,3,5,15 21: 1,原创 2013-08-22 15:34:13 · 244 阅读 · 0 评论 -
Project Euler -> problem 9
9.一个毕达哥拉斯三元组是一个包含三个自然数的集合,a a^2 + b^2 = c^2 例如:3^2 + 4^2 = 9 + 16 = 25 = 5^2. 已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。 找出该三元组中abc的乘积。 int main(void) { int a,b,c; for(a=1;a for(b=a+1;b原创 2013-08-22 15:34:04 · 283 阅读 · 0 评论 -
Project Euler -> problem 8
8.找出以下这个1000位的整数中连续5个数字的最大乘积。(例如前五个数字的乘积是7*3*1*6*7=882) 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853原创 2013-08-22 15:34:02 · 300 阅读 · 0 评论 -
Project Euler -> problem 4
4. 一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是 9009 = 91 * 99。找出最大的有由个三位数乘积构成的回文数。 int main(void) { int i,j,t,k,n=0; for(i=100;i for(j=100;j //求回问数算法 for(t=0,k=i*j;k>0;k/=10)原创 2013-08-22 15:33:54 · 243 阅读 · 0 评论 -
Project Euler -> problem 10
10. 10以下的质数的和是2 + 3 + 5 + 7 = 17. 找出两百万以下所有质数的和。 int main(void) { int i,u; long long sum=0; for(i=2;i int flag = 1; for(u=2;u*u if(i%u == 0){ fla原创 2013-08-22 15:34:07 · 297 阅读 · 0 评论