解题思路:
用埃拉托色尼筛选法,否则会超时。不知道这个方法的看博客传送门
参考代码:
n = int(input()) nums = [True if i&1 else False for i in range(n+1)] nums[1],nums[2] = False,True for i in range(2,n+1): j = i if nums[i] == True: while i*j<=n: nums[i*j] = False j += 1 ans = 0 for i in range(2,n+1): if nums[i]: ans += i print(ans)
0.0分
2 人评分
C二级辅导-统计字符 (C语言代码)浏览:577 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:551 |
A+B for Input-Output Practice (IV) (C++代码)浏览:713 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:585 |
母牛的故事 (C语言代码)浏览:1046 |
矩形面积交 (C++代码)浏览:1204 |
输出九九乘法表 (C语言代码)浏览:1172 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:527 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:538 |
马拦过河卒 (C语言代码)浏览:1213 |