问题描述
素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
9 = 3 * 3 说明它可以3等分,因而不是素数。
我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
比如:1949,4919 都符合要求。
思路分析及代码实现
思路:这道题还是可以用最常规的暴力枚举,从最小的1499开始到到最大的9941进行遍历,当然这里9941要+1到9942,不然9941遍历不到,然后判断遍历的四位数是否含有一个1,一个4,两个9,符合条件的进行素数的判断,素数就是除1和他本身以外不能被其他数整除的数
def solve():
num = 0
for i in range(1499, 9942):
b = str(i)
if b.count('1') == 1 and b.count("4") == 1 and b.count("9") == 2:
for j in range(2, i):
if i % j == 0:
break
else:
num += 1
return num
print(solve())