wyp02033
发表于 2018-7-25 10:26:58
方法1:
from math import sqrt
def is_prime(n):
if n == 0 or n == 1:
return False
elif n == 2 or n == 3:
return True
else:
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
def is_all_primes(num):
if num < 10:
return
else:
num_str = str(num)
for each in num_str:
if not is_prime(int(each)):
return False
return True
for i in range(100):
if is_prime(i) and is_all_primes(i):
print(i)
方法2:
from math import sqrt
from itertools import permutations
def is_prime(n):
if n == 0 or n == 1:
return False
elif n == 2 or n == 3:
return True
else:
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
nums = ['2', '3', '5', '7']
for each in permutations(nums, 2):
num = int(''.join(each))
if is_prime(num):
print(num, end = ' ')
nanayuri
发表于 2018-7-25 10:46:28
def zhishu(x):
result = True
for i in range(2, x):
if x % i == 0:
result = False
break
return result
if __name__ == "__main__":
for num in range(2, 100):
dec = num // 10
car = divmod(num, 10)
if zhishu(num) is True and zhishu(dec) is True and zhishu(car) is True:
print(num)
mongoole
发表于 2018-7-25 11:01:31
本帖最后由 mongoole 于 2018-8-14 15:34 编辑
zhishu = []
for i in range(2,101):
sqt = i // 2
while sqt > 1:
if i % sqt == 0:
# print("%d的最大公约数为:%d"%(i,sqt))
break
sqt -= 1
else:
zhishu.append(i)
# print("%d是素数"%i)
m = i // 10
n = i % 10
if m in zhishu:
if n in zhishu:
print('这样的数有:%d'%i)
天圆突破
发表于 2018-7-25 13:35:48
本帖最后由 天圆突破 于 2018-7-25 13:44 编辑
from functools import reduce
def su(n):
if not n%2 and n !=2 or n==1:return False
for i in range(3, n//2,2):
if not n%i:return False
return True
lst = list(filter(lambda x:bool(reduce(lambda x,y:x*y, map(lambda x:su(int(x)),list(str(x))))), filter(lambda x:su(x),)))
print(lst)
坠入暮光
发表于 2018-7-25 14:22:33
def Judge(integer):
z = int(integer**0.5 + 1)
for i in range(1, z):
if (integer % i == 0) and (i != 1) and (i != integer):
return False
return True
for i in range(10, 100):
if Judge(i):
ten_number = i // 10
unit = i % 10
if Judge(ten_number) and Judge(unit):
print(i)
wwq天天
发表于 2018-7-25 15:00:13
#判断整体是质数的函数
def zt_zs(s):
x = int(s**(0.5)+1)
for i in range(2,x):
y = s % i
if y == 0:
break
else:
return s
#判断十位是质数
def ss_ss(h):
x = h // 10
if x>2:
for i in range(2,int(x**0.5+1)):
m = x%i
if m==0:
break
else:
return h
def ss_s2(h):
y = h % 10
if y>2:
for i in range(2,int(y**0.5+1)):
if y%i==0:
break
else:
print (h)
if __name__=='__main__':
for i in range(10,101):
h = zt_zs(i)
if h!=None:
h = ss_ss(h)
if h!=None:
ss_s2(h)
大头目
发表于 2018-7-25 15:47:54
import math
def is_prime(number):
if number > 1:
if number == 2:
return True
if number % 2 == 0:
return False
for current in range(3, int(math.sqrt(number) + 1), 2):
if number % current == 0:
return False
return True
return False
list1 = []
for i in range(100):
if is_prime(i):
list1.append(i)
list2 = []
for j in list1:
if is_prime(j//10) and is_prime(j%10):
list2.append(j)
print(list1)
print(list2)
汝鱼得水
发表于 2018-7-25 15:53:02
for i in range(2,101):
P = 0
for j in range(2,i-1):
if i%j == 0:
P = 1
break
if P == 0:
print (i)
KkaBum
发表于 2018-7-25 17:06:19
不会写,看下大神写的
冷小漠
发表于 2018-7-25 18:02:25
def is_zhi(num):
if num == 0 or num == 1:
return False
for i in range(2,num):
if num % i == 0:
return False
return True
for i in range(10,100):
if is_zhi(i):
if is_zhi(i // 10) and is_zhi(i % 10):
print(i)
说语
发表于 2018-7-25 18:44:14
for i in range(22,100):
if ((i//10) in (2,3,5,7)) and ((i%10) in(3,7)):
for j in range(2,i):
if i%j==0:
break
else:
print(i)
学学看看
发表于 2018-7-25 19:22:08
CC柴
发表于 2018-7-25 20:10:15
诶,又长又臭!list1 = []
for i in range(10,100):
a = 0;b = 0
for j in range(2,i):
if i%j != 0 :
a = 1
else:
b = 1
if a == 1 and b ==0:
list1.append(i)
list2 =
for m in list1:
if ((m//10) in list2) and ((m%10) in list2):
print(m,end=" ")
duliping
发表于 2018-7-26 12:08:49
list1 =
prime_list =
list2 = ) in prime_list and int(str(i)) in prime_list]
list2
chongchuigu
发表于 2018-7-26 15:44:20
本帖最后由 chongchuigu 于 2018-7-26 21:23 编辑
def prime(n):
for i in range(2,n):
if n%i==0:
return False
else:
if n<2:
return False
else:
return True
for i in range(10,100):
a=prime(int(str(i)))
b=prime(int(str(i)))
c=prime(i)
if a and b and c:
print(i)
小Q学Python
发表于 2018-7-26 16:27:27
def isprime(n):
if n == 1 or n == 0:
return False
if n == 2:
return True
for i in range(2, int(n**0.5)+1):
if n%i == 0:
return False
return True
l1 =
l2 =
result = ) in l1 and int(str(i)) in l1]
print(result)
管道工
发表于 2018-7-26 17:51:21
本帖最后由 管道工 于 2018-7-26 17:56 编辑
a = []
b = []
c = []
for i in range(10,101):
cont = 0
for l in range(1,i+1):
if i%l == 0:
cont += 1
if cont == 2:
a.append(i)
for i in a:
ge=i%10
cont1 = 0
cont2 = 0
for l in range(1,ge+1):
if ge%l==0:
cont1 += 1
if l == ge:
if cont1 ==2 :
b.append(i)
cont1 =0
for i in b:
shi = int(i/10)
for m in range(1,shi+1):
if shi%m== 0:
cont2 += 1
if m==shi:
if cont2==2 :
c.append(i)
cont2 =0
print(c)
colinshi
发表于 2018-7-26 18:01:42
#返回X以内的质数列表,6N±1法则
def zhisu(x):
z =
for i in range(6,x,6):
if FindZS(i-1,z) is True:
z.append(i-1)
if FindZS(i+1,z) is True:
z.append(i+1)
return z
#判断X是不是质数,zs为小于x的质数列表
def FindZS(x,zs):#一个数(N)不能被小于根号N的数整除,那么这个数就是质数。
for j in zs:
if j > x**0.5:#所以当除数大于根号N的数时,跳出循环
break
if x%j == 0: #余数为0时,这个数就是合数返回False
return False
return True
def zsprint(z):
l = ['1', '2' ,'3', '5', '7']
for i in z:
for j in str(i):
if j not in l:
break
else:
print(i)
if __name__ == '__main__':
n=100
zsprint(zhisu(n))
solomonxian
发表于 2018-7-26 19:07:47
条件范围放大一点,输入不限制100以内,输出不限制2位数
def fun(n=100):
prime = [i for i in range(2, n+1) if 0 not in
(i%j for j in range(2, int(i**0.5)+1))]
result = []
for k in prime:
num = k
while num:
num, temp = divmod(num, 10)
if temp not in prime:
break
else:
result.append(k)
return result
丨游戏灬需要
发表于 2018-7-28 00:50:29
本帖最后由 丨游戏灬需要 于 2018-7-28 16:38 编辑
from math import sqrt
def is_prime(n):
#直接拿百度的代码,因为自己想不出
if n == 1:
return False
for i in range(2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
def q(range_ ,start = 10):
temp = []
a_prime = list(filter(is_prime ,range(1,11))) #此处变通性不够
for i in range(start ,range_):
if is_prime(i):
temp.append(i)
result = []
for i in temp:
for i2 in str(i):
if not is_prime(int(i2)):
break
else:
result .append(i)
return result
a = q(100)
print (a)