编写程序,输出所有由1、2、3、4这4个数字组成的素数,要求在每个素数中每个数字最多只能使用一次。
import math
#判断一个数是否是素数
def isPrime(x):
for i in range(2,int(math.sqrt(x)+1)):
if x%i == 0:
return False
return True
data = [2, 3] #data存的是1 2 3 4组合的所有数字,先把2 3存入
#生成两位数(循环里的判断为了去掉相同的数字)
for i in range(1,5):
for j in range(1,5):
if i!=j:
data.append(i*10+j)
#生成三位数(循环里的判断为了去掉相同的数字)
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and i!=k:
data.append(i*100+j*10+k)
#生成四位数(循环里的判断为了去掉相同的数字)
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
for m in range(1,5):
if i!=j and i!=k and i!=m and j!=k and j!=m and k!=m:
data.append(i*1000+j*100+k*10+m)
for i in data:
if isPrime(i):
print(i)
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
.png)
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】元
-1.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容