欧拉计划
欧拉计划刷题学习记录
XuefenLiu
这个作者很懒,什么都没留下…
展开
-
Problem 11-Largest product in a grid
题目11 题解 #include <iostream> using namespace std; int num[30][30], ans; int dirx[4] = {-1,0,1,1}; int diry[4] = {1,1,1,0}; int main(){ for(int i=5;i<25;i++) for(int j=5;j<25;j++){ cin >> num[i][j]; }原创 2021-06-04 12:31:21 · 65 阅读 · 0 评论 -
Problem 8-Largest product in a series
题目8 题解 用滑动窗口一点一点往后挪动,新加入的乘上,掉出窗口的除掉,但是要注意:以上数据中有很多0,一旦乘以0结果就是0了,所以遇到0是不能直接网上乘的,而且因为要求必须是连续的数字相乘,所以包含数字0的窗口的乘积也是不能去更新最终结果的。 #include <iostream> using namespace std; char str[1005]; int main(){ long long ans = 0, now = 1, zero_cnt = 0; cin &原创 2021-06-03 17:48:59 · 82 阅读 · 0 评论 -
Problem 6-Sum square difference
题目6 题解 一趟遍历,算出结果 #include <iostream> int main(){ int sum = 0, psum = 0; for(int i=1;i<=100;++i){ psum += i*i; sum += i; } std::cout << sum * sum - psum << std::endl; return 0; } ...原创 2021-06-03 16:50:06 · 68 阅读 · 0 评论 -
Problem 4-Largest palindrome product
题目4 题解 #include <iostream> bool isPalindrome(int x){ int raw = x, t = 0; while(x){ t = t*10 + x%10; x/=10; } return t == raw; } int main(){ int ans = 0; for(int i=100;i<1000;++i){ for(int j=i;j&l原创 2021-06-03 16:42:37 · 57 阅读 · 0 评论 -
Problem 2-Even Fibonacci numbers
题目2 题解 傻瓜方式可以一趟遍历,用一个大的vector把所有的斐波那契数存下来, 边存边累加符合条件的数,遍历结束,结果就出来了。 这道题可以把空间复杂度由O(N)优化到O(1),用两个变量存中间状态即可。 #include <iostream> int main(){ long long ans = 0; int a = 1, b = 2; while(b<4000000) { if(b % 2 == 0){ ans原创 2021-06-03 16:19:34 · 88 阅读 · 0 评论 -
Problem 1-Multiples of 3 and 5
这里写自定义目录标题题目1题解傻瓜方案:优化版本: 题目1 题解 傻瓜方案: 一趟遍历,符合条件的累加起来,时间复杂度为O(N)。 #include <iostream> int main(){ int sum = 0; for(int i=1;i<1000;i++){ if(i % 3 == 0 || i % 5 == 0){ sum += i; } } std::cout << s原创 2021-06-03 16:11:46 · 74 阅读 · 0 评论