小学生蓝桥杯Python闯关 | 纯质数
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小学生蓝桥杯Python闯关 | 纯质数相关的知识,希望对你有一定的参考价值。
学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客
【题目描述】
如果一个正整数只有1和它本身两个因数,称这个正整数为质数,前几个质数是:2、3、5、7、11、13、17、19、23、。。。。
若一个质数拆开它每一位上的数字,得到的一位数全都是质数的话,成为“纯质数”,如:2、3、5、7、23、37。而11、13、17、19、29、31则不能称为纯质数,当然,25、27、35、57也不能称为纯质数。
请问,从1到给定的n(n为正整数)中,有多少个纯质数?
【输入描述】
给定一个正整数n(n<10000)
【输出描述】
输出1到n中(包括1和n)的纯质数个数
【样例输入】
20
【样例输出】
4
【代码详解】
n = int(input())
count = 0
def isPrime(n):
if n == 1:
return False
else:
for i in range(2,n):
if n % i == 0:
return False
return True
def isPurePrime(n):
n = str(n)
ls = ['2','3','5','7']
for i in n:
if i not in ls:
return False
return True
for i in range(1, n+1):
if isPrime(i) and isPurePrime(i):
count = count +1
print(count)
复制代码
【运行结果】
20
4
以上是关于小学生蓝桥杯Python闯关 | 纯质数的主要内容,如果未能解决你的问题,请参考以下文章