这个阅读理解题有一点困惑
def g(x):if x <= 1:
return False
cnt = 0
for i in range(1, x + 1):
if x % i == 0:
cnt += 1
if cnt > 2:
return False
return True
ans = 0
for i in range(1000000):
if g(i):
ans += i * i
print("Flag is flag{%d}" % (ans))
一道ctf阅读理解题
这道题按我的理解是把100万以内的质数求平方和,然后用matlab求了答案,是24693298341813192
但是答案不是这个
是有什么步骤遗漏了?
有大神能解答一下嘛~
呃,我也觉得是求质数的啊,没毛病!
2 - 99999 的质数平方和
本帖最后由 claws0n 于 2018-9-28 23:11 编辑
{:10_247:} 双循环暴力法,你要解到何年何月?import math as m
def g(x):
for i in range(2,int(m.sqrt(x))+1):
if x % i == 0:
return False
return True
ans = 0
for i in range(2,1000000):
if g(i):
ans += i * i
print("100万以内的质数求平方和 = %d" % (ans))结果:24693298341834533 本帖最后由 RIXO 于 2018-9-29 01:03 编辑
claws0n 发表于 2018-9-28 23:09
双循环暴力法,你要解到何年何月?结果:
呃,为啥你跑出来了啊 ,开个根号这么牛逼的吗 claws0n 发表于 2018-9-28 23:09
双循环暴力法,你要解到何年何月?结果:
谢谢大神回答~
对啦开心 RIXO 发表于 2018-9-29 01:01
呃,为啥你跑出来了啊 ,开个根号这么牛逼的吗
消失了两天呀
哇,弱爆了{:7_119:}
对不起大佬,还有更逊的方法
页:
[1]