解题思路:

首先,用户输入一个正整数 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.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

霜序时 3月前 回复TA
牛逼