|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:求十位、个位 都是质数 组成的质数。
- import math
- for number in range(10,100):
- m = int(number / 10)
- n = int(number % 10)
- m_f,n_f,number_f = 0,0,0
- for i in range(2,int(math.sqrt(m))+1):
- if m % i == 0 or m== 1:
- m_f = 1
- break
- if m_f != 1 :
- for i in range(2,int(math.sqrt(n))+1):
- if n % i == 0 or n == 1:
- n_f = 1
- break
- if m_f != 1 and n_f != 1 :
- for i in range(2,int(math.sqrt(number)+1)):
- if number % i == 0:
- number_f = 1
- break
- if number_f != 1 :
- print(number)
复制代码
输出的结果是
11
13
17
23
31
37
53
71
73
为什么会有包含1的数字啊?
本帖最后由 无符号整形 于 2018-7-24 21:06 编辑
第19行出了问题
顺便给出简化版
- def ispm(num):
- i = num - 1
- while i - 1:
- if(not num % i):
- return False
- i-=1
- return True
- for each in range(10,100):
- if int(str(each)[0]) in [2,3,5,7] and int(str(each)[1]) in [2,3,5,7] and ispm(each):
- print(each)
复制代码
|
|