编写程序,输出所有由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)