欧拉计划
欧拉计划是一系列有挑战性的数学与计算机编程题;要解开它们,需要的不止是数学知识:尽管数学能够帮助你找到一些优雅而有效的方法,大多数题目仍需要借助计算机和编程技巧来完成解答。
元气算法
关注公众号:元气算法 获取全部资料
展开
-
欧拉计划 Problem1
题目 3的倍数和5的倍数 如果我们列出10以内所有3或5的倍数,我们将得到3、5、6和9,这些数的和是23。 求1000以内所有3或5的倍数的和。 解答: #include using namespace std; int main() { int sum = 0; for(int i = 1; i 1000; i++) { if(i%3==原创 2018-01-31 20:16:13 · 370 阅读 · 0 评论 -
欧拉计划 Problem 18
题目 最大路径和 I 从下面展示的三角形的顶端出发,不断移动到在下一行与其相邻的元素,能够得到的最大路径和是23。 3 7 4 2 4 6 8 5 9 3 如上图,最大路径和为 3 + 7 + 4 + 9 = 23。 求从下面展示的三角形顶端出发到达底部,所能够得到的最大路径和: 75 95 64 17 47 82 18 35 87 10 20 04 82 47 65原创 2018-02-04 18:02:31 · 498 阅读 · 0 评论 -
欧拉计划 problem 16
题目 幂的数字和 215 = 32768,而32768的各位数字之和是 3 + 2 + 7 + 6 + 8 = 26。 21000的各位数字之和是多少? 代码 #include using namespace std; int main() { int num[1005] = {0}; num[1000] = 1; for(int i = 0; i 100原创 2018-02-04 17:27:04 · 304 阅读 · 0 评论 -
欧拉计划problem 15
题目 网格路径 从一个2×2方阵的左上角出发,只允许向右或向下移动,则恰好有6条通往右下角的路径。 对于20×20方阵来说,这样的路径有多少条? 代码 #include using namespace std; const int maxn = 20; int ans = 0; main() { long long num[21][21] = {0}; for(i原创 2018-02-01 22:48:11 · 349 阅读 · 1 评论 -
欧拉计划problem13
题目: 大和 计算出以下一百个50位数的和的前十位数字。 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74324986199524741059474233309513058123726617309629 919422133635原创 2018-02-01 21:42:45 · 220 阅读 · 1 评论 -
欧拉计划problem12
题目 高度可约的三角形数 三角形数数列是通过逐个加上自然数来生成的。例如,第7个三角形数是 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原创 2018-02-01 20:48:41 · 355 阅读 · 0 评论 -
欧拉计划 Problem11
题目: 方阵中的最大乘积 在如下的20×20方阵中,有四个呈对角线排列的数被标红了。 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原创 2018-02-01 20:06:50 · 346 阅读 · 0 评论 -
欧拉计划 Problem10
题目; 素数的和 所有小于10的素数的和是2 + 3 + 5 + 7 = 17。 求所有小于两百万的素数的和。 解答: #include #include #define ll long long using namespace std; const int maxn = 2000000; bool isprime(int n) { if(n==1)return false;原创 2018-01-31 22:00:34 · 311 阅读 · 0 评论 -
欧拉计划 Problem9
题目: 特殊毕达哥拉斯三元组 毕达哥拉斯三元组是三个自然数a a2 + b2 = c2 例如,32 + 42 = 9 + 16 = 25 = 52。 有且只有一个毕达哥拉斯三元组满足 a + b + c = 1000。求这个三元组的乘积abc 解答: #include using namespace std; int main() { for(int i = 0; i原创 2018-01-31 21:55:15 · 271 阅读 · 0 评论 -
欧拉计划 Problem8
题目: 连续数字最大乘积 在下面这个1000位正整数中,连续4个数字的最大乘积是 9 × 9 × 8 × 9 = 5832。 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 858615607891129494954595017379原创 2018-01-31 21:46:29 · 403 阅读 · 0 评论 -
欧拉计划 Problem7
题目: 第10001个素数 列出前6个素数,它们分别是2、3、5、7、11和13。我们可以看出,第6个素数是13。 第10,001个素数是多少? 解答 #include #include using namespace std; const int maxn = 10001; bool isprime(int n) { if(n==1)return false; f原创 2018-01-31 21:16:13 · 343 阅读 · 0 评论 -
欧拉计划 Problem6
题目: 平方的和与和的平方之差 前十个自然数的平方的和是 12 + 22 + … + 102 = 385 前十个自然数的和的平方是 (1 + 2 + … + 10)2 = 552 = 3025 因此前十个自然数的平方的和与和的平方之差是 3025 − 385 = 2640。 求前一百个自然数的平方的和与和的平方之差。 解答: #include using namespace原创 2018-01-31 21:07:09 · 216 阅读 · 0 评论 -
欧拉计划 Problem5
题目 最小倍数 2520是最小的能够被1到10整除的数。 最小的能够被1到20整除的正数是多少? 解答 #include using namespace std; long long git(long long a,long long b) { long long x = a * b; long long temp; while(b) {原创 2018-01-31 20:58:01 · 265 阅读 · 0 评论 -
欧拉计划 Problem4
题目: 最大回文乘积 回文数就是从前往后和从后往前读都一样的数。由两个2位数相乘得到的最大回文乘积是 9009 = 91 × 99。 找出由两个3位数相乘得到的最大回文乘积。 解答 #include #include using namespace std; bool ispalindrom(long n) { long x = n,temp = 0; while(x)原创 2018-01-31 20:39:22 · 317 阅读 · 0 评论 -
欧拉计划 Problem3
题目 最大质因数 13195的所有质因数为5、7、13和29。 600851475143最大的质因数是多少? 解答 #include using namespace std; int main() { long long x = 600851475143,i; for(i=2; i<x; ) { if(x%i==0)原创 2018-01-31 20:34:10 · 272 阅读 · 0 评论 -
欧拉计划 Problem2
题目: 偶斐波那契数 斐波那契数列中的每一项都是前两项的和。由1和2开始生成的斐波那契数列前10项为: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, … 考虑该斐波那契数列中不超过四百万的项,求其中为偶数的项之和。 解答: #include using namespace std; const int maxn = 4000000; int main(原创 2018-01-31 20:19:17 · 234 阅读 · 0 评论 -
欧拉计划 Problem19
题目 数星期日 下列信息是已知的,当然你也不妨自己再验证一下。 1900年1月1日是星期一。 三十天在九月中, 四六十一也相同。 剩下都是三十一, 除去二月不统一。 二十八天平常年, 多加一天在闰年。 闰年指的是能够被4整除却不能被100整除的年份,或者能够被400整除的年份。 在二十世纪(1901年1月1日到2000年12月31日)中,有多少个月的1号是星期天? 代码原创 2018-02-04 18:26:11 · 505 阅读 · 0 评论