解题思路: 素数即只有1和它本身两个因子,显然,若数x在(2,根号X)内没有因子,则它在(根号X,x-1)内没有因子,为减少循环(但此题不容易超时,所以可以不用减少循环),计算在(2, int(pow(i, 1/2))+1)内是否有因子,并用计数器利于写代码。
注意事项:
参考代码:
正常做法:
n = int(input())
for i in range(2, n+1):
count = 0
for j in range(2,i):
if i % j == 0:
count += 1
if count == 0:
print(i)
减少循环的做法:
n = int(input())
for i in range(2, n+1):
count = 0
for j in range(2, int(pow(i, 1/2))+1):
if i % j == 0:
count += 1
if count == 0:
print(i)
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:656 |
【绝对值排序】 (C语言代码)浏览:758 |
WU-输出正反三角形 (C++代码)浏览:1029 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:920 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:792 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2173 |
C语言训练-字符串正反连接 (C语言代码)浏览:637 |
马拦过河卒 (C语言代码)浏览:1126 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1340 |