问题描述
如果一个质数 P 的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相 邻的 k 位数字组成的 k 位数都是质数, 则 P 称为超级质数。
如果把超级质数 P 看成一个字符串, 则这个超级质数的每个子串都是质 数。
例如, 53 是一个超级质数。
请问, 最大的超级质数是多少?
答案提交
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
理解思路
1、10以内的质数有2,3,5,7
2、根据超级质数的组成规则可以组成23,37,53,57,73这样的相邻质数组合, 满足要求的有23,37,53,73.
3、根据这些组合可以组成237,373,573,737这样的数字组合,满足要求的只有373
4、根据组成规则已经不能在373的基础之上进行组合,即为最大超级质数
判断质数的代码
num = int(input())
for i in range(2,num//2):
if num % i == 0:
print("False")
break
if i == num//2-1:
print("True")