Python循环
8.只能由1和它本身整除的整数称为素数;若一个素数从左向右读与从右向左读是相同的数,则该素数为回文素数。编程求出2 ~ 1000 内的所有回文素数。
为什么我的会重复出现,没看明白
import math
for i in range(2,10001):
for x in range(2,int(math.sqrt(i))+1):
if i%x==0:
break
else:
print(i)
import math
for i in range(2,10001):
flag = True
for x in range(2,int(math.sqrt(i))+1):
if i%x==0:
flag = False
break
if flag :
print(i)
本帖最后由 baige 于 2020-9-23 15:32 编辑
你的内层循环有问题,比如i = 15时,内层循环从2开始,15%2!=0,所以就输出15,内层循环继续,只要i%x不等于就会输出i 你把print(i)改为print(i,x)你就明白了 fall_bernana 发表于 2020-9-23 15:31
你把print(i)改为print(i,x)你就明白了
牛逼
baige 发表于 2020-9-23 15:26
8.只能由1和它本身整除的整数称为素数;若一个素数从左向右读与从右向左读
是相同的数,则该素数为回文素数。编程求出2 ~ 1000 内的所有回文素数。
这个回文有没有什么好的办法 qcyQCY 发表于 2020-9-23 16:11
8.只能由1和它本身整除的整数称为素数;若一个素数从左向右读与从右向左读
是相同的数,则该素数为回文素 ...
import math
for i in range(2,10001):
flag = True
for x in range(2,int(math.sqrt(i))+1):
if i%x==0:
flag = False
break
if flag and str(i)==str(i)[::-1]:
print(i) fall_bernana 发表于 2020-9-23 16:15
为什么没有22 33 44 55 66 77 88 99 qcyQCY 发表于 2020-9-23 16:27
为什么没有22 33 44 55 66 77 88 99
我错了,我反应过来了
qcyQCY 发表于 2020-9-23 16:29
我错了,我反应过来了
刚刚入迷了,不好意思,谢谢啦
页:
[1]