解题思路:
首先,用户输入一个正整数 N。
然后,使用外层循环遍历从 2 到 N 的所有数。设置julge用做检验当前数字的标记,true表示素数,flase表示合数。内层循环从 2 开始,到当前数的平方根(用int取整数部分)加 1 结束。在内层循环中,检查当前数是否可以被内层循环中的数整除,如果可以,则将julge标记为 False,并跳出内层循环。
如果内层循环结束后,julge 仍然为 true,则表示当前数是素数,将其添加到素数列表 list1 中。
注意事项:核心思想是从2开始到输入数字挨个检验,只要这个数能被2到该数的平方根取整中的任意一个数整除,那他就是合数,标记julge为0
参考代码:
N=int(input())
list1=[]
for i in range(2,N+1):
julge=1
for j in range(2,int(i**0.5)+1):
if i%j==0:
julge=0
break
if julge==1:
list1.append(i)
for i in list1:
print(i)
0.0分
8 人评分
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:878 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:981 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:822 |
字符串的输入输出处理 (C语言代码)浏览:1018 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:798 |
简单的a+b (C语言代码)浏览:618 |
母牛的故事 (C语言代码)浏览:519 |
求圆的面积 (C语言代码)浏览:712 |
整数分类问题 为什么输出总是数字8啊浏览:451 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:714 |