Python:每日一题 190
本帖最后由 冬雪雪冬 于 2018-7-28 20:30 编辑我们的玩法做了一下改变:
1. 楼主不再提供答案。
2. 请大家先独立思考,再参考其他鱼油的解答,这样才有助于自己编程水平的提高。开始阶段是看不到其他人的回帖的,等答题完成,开始评分时再取消限制。
3. 鼓励大家积极答题,奖励的期限为出题后24小时内。
4. 根据答案的质量给予1~3鱼币的奖励。
题目:
23是质数,它的十位和个位2和3也是质数,求出100以内所有这样的两位数质数。
注:最近几期的题目可能有点难度,参与的鱼油不够踊跃,这回来个难度低的题,希望更多的人参加。 list1 =
list0 = []
for each in range(10,100):
for i in range(1,each//2+1):
for j in range(1,i+1):
if i * j == each:
if each in list0:
pass
else:
list0.append(each)
list2 =
for each in list0:
list1.remove(each)
for each in list1:
if (each//10 in list2) and (each%10 in list2):
print(each,end=',')
23,37,53,73, 本帖最后由 graceasyi 于 2018-7-24 17:06 编辑
def is_prime(n):
if n not in :
for i in range(2, n):
if n % i == 0:
return False
else:
return True
else:
return False
for n in range(11, 100):
if is_prime(n):
if is_prime(n % 10) and is_prime(n // 10):
print(n)
另一种思路:由于要求每一位都是质数,因此先找出10以内的质数,2,3,5,7,再组合后判断符合条件的,这样一共只需要判断25次质数就可以了。
p =
result =
print(result)
结果:
23
37
53
73
def isPrime(num):
if num == 2:
return True
elif num == 0 or num == 1:
return False
else:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
print() 明天要去军训了,一个星期都不能摸可爱的python了,{:10_266:}{:10_266:}{:10_266:}{:10_266:}
def fun190(num=100):
for each in range(10,num+1):
if each % 2 != 0 and each % 3 != 0 and each % 5 != 0 and each % 7 != 0:
print(each)
count = 0
for i in str(each):
if i in '2357':
count += 1
else:
pass
if count == len(str(each)):
print(each) 本帖最后由 JessiFly 于 2018-7-24 17:56 编辑
def isprime(n):
if n == 1:
return False
elif n == 2:
return True
elif n % 2:
n_sqrt = n ** 0.5
i = 3
while i <= n_sqrt:
if n % i == 0:
return False
i += 1
return True
else:
return False
for n in range(10,100):
a = n // 10
b = n % 10
if isprime(n) and isprime(a) and isprime(b):
print(n)
结果
23
37
53
73 本帖最后由 zhou995287902 于 2018-7-24 21:26 编辑
def isprime(number):
if number==0 or number==1:
return False
else:
for i in range(2,number//2+1):
if number%i==0 :
break
else:
return True
for each in range(10,100):
if isprime(int(str(each))) and isprime(int(str(each))) and isprime(each):
print(each)
本帖最后由 晓屁屁 于 2018-7-25 09:40 编辑
class Prime:
def search(self,num):
for i in range(2, num):
if num%i == 0:
return False
return True
def pos(self,num):
if len(str(num)) == 2:
self.gew = num%10
self.shw = num//10%10
return (self.shw,self.gew)
p = Prime()
a = []
for i in range(2,100):
if p.search(i) and p.pos(i) != None:
a.append(p.pos(i))
else:
pass
for j in a:
if p.search(j) and p.search(j) and j != 1:
print(''.join( ))
else:
pass
为了练习类,写的很low def isp(x):
if x>1:
if x==2:
return True
if x%2==0:
return False
for i in range(3, int(x**0.5 + 1), 2):
if x % i == 0:
return False
return True
return False
for i in range(2,100):
if isp(i) and isp(i//10) and isp(i%10):
print(i) 本帖最后由 凌九霄 于 2018-7-26 15:48 编辑
def isPrime(n):
if n <= 1:
return False
i = 2
while i * i <= n:
if n % i == 0:
return False
i += 1
return True
def outP(num):
bool = True
if isPrime(num):
strnum = str(num)
for i in strnum:
if not isPrime(int(i)):
bool = False
break
else:
bool = False
return bool
X =
print(X)
from itertools import permutations
from math import sqrt
A = * 10 + x, list(permutations(, 2)))) if
0 not in ]
import itertools
nums = list(map(lambda x: x + x, list(itertools.permutations(('2', '3', '5', '7'), 2))))
def checkit(num):
P =
rtn = 1
for i in P:
result = num % i
if result == 0:
rtn = result
break
return rtn
A = def func():
def is_prime(x):
import math
if x<2:
return False
temp = int(math.sqrt(x))
for i in range(2, temp+1):
if x%i == 0:
return False
return True
for i in range(11, 100):
if is_prime(i):
if is_prime(i//10) and is_prime(i%10):
print(i)
for zs in range(10,101):
n = 0
g = 0
s = 0
gw = zs%10
sw = int(zs/10)
for i in range(1,zs+1):
a=zs%i
gi=gw%i
si=sw%i
if a == 0:
n +=1
if gi == 0:
g +=1
if si == 0:
s +=1
if n == 2 and g ==2 and s ==2:
print(zs)
本帖最后由 LeiShen 于 2018-7-24 20:37 编辑
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:
m_f = 1
break
if m_f != 1 :
for i in range(2,int(math.sqrt(n))+1):
if n % i == 0:
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 and m !=1 and n !=1:
print(number) LeiShen 发表于 2018-7-24 20:31
新手就要勇往直前!!! >>> def is_prime( n ):
if n < 2:
return False
for i in range(2,int(n**0.5)+1):
if n % i == 0:
return False
return True
>>> is_prime(4)
False
>>>
>>> def fun():
ls =
r = []
for x in ls:
for y in ls:
t = x*10+y
if is_prime( t ):
r.append( t )
print(r)
>>> fun()
>>> def func190():
num = 100
result = []
for i in range(10,100):
flag = 0
for j in range(2,i):
if i%j == 0:
flag = 1
if flag == 0 :
result.append(i)
return result
print(func190()) def Isprime(x):
if x<2:
return False
for i in range(2,x):
if x%i==0:
return False
return True
for i in range(1,101):
c = i
flag =1
while i:
b = i%10
if Isprime(b):
i = int(i/10)
else:
flag = 0
break
if flag == 1:
print(c) 答案 def isprime(n):
if n==2:
return True
if n==1 or n%2==0:
return False
for i in range(3,int(n**0.5)+1,2):
if n%i==0:
return False
return True
print() 自己写了一个,提示最后一个判断是int和nonetype做与运算,问题出在哪