摘要: 本题来自 Project Euler 第11题:https://projecteuler.net/problem=11 就是有个 20 * 20 的数字网格,求任意直线方向(横、竖、斜)4个数字相乘最大的乘积。 做完这一题,深深感觉到写代码真是体力劳动…… 话说,把 n1-n20 放进 lst 列表 阅读全文
posted @ 2016-10-29 21:54 木木卡卡西 阅读(523) 评论(2) 推荐(0) 编辑
摘要: 本题来自 Project Euler 第10题:https://projecteuler.net/problem=10 又是一道求解素数的题目。看来,只要能找到判断素数的最佳方法,就能解决很多问题啊。 本题沿用了之前的素数判断函数。不知道有没有优化的版本,能大幅压缩计算时间啊…… 阅读全文
posted @ 2016-10-29 12:10 木木卡卡西 阅读(745) 评论(2) 推荐(0) 编辑
摘要: 本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 这题若是想清楚了,其实是相当简单,无非是找出各种 a+b+c=1000 的组合,然后验证 a**2 + b**2 = c**2 就行了。遍历范围方面,因为 a<b<c,最小的 a 最大 阅读全文
posted @ 2016-10-29 12:00 木木卡卡西 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 本题来自 Project Euler 第8题:https://projecteuler.net/problem=8 有一个 1000 位的数字,任意选取相邻的 13 个数字相乘,求其中最大的乘积。 老实说,要找出这个最大的乘积并不难,遍历一下就好。但——1000位的数字?放在 PyCharm 里根本 阅读全文
posted @ 2016-10-29 11:24 木木卡卡西 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 本题来自 Project Euler 第7题:https://projecteuler.net/problem=7 求解第 10001 个素数。 上述代码的思路其实挺简单:首先自定义一个函数,用来判断某个数字是否为素数。之后从数字1开始判断,只要是素数,就放进 lst 列表,直到 len(lst) 阅读全文
posted @ 2016-10-29 00:01 木木卡卡西 阅读(705) 评论(0) 推荐(0) 编辑