描述
1179 能用 3 种方法表示为 3 个不同素数平方和的整数。
如:
1179 = 1717 + 1919 + 23*23
1179 = 77 + 1313 + 31*31
1179 = 77 + 1717 + 29*29
请输出能用 6 种方式表示为 3 个不同素数平方和的最小整数。
(本题涉及的最大素数不超过100)
输入格式
该题目没有输入
输出格式
输出能用 6 种方式表示为 3 个不同素数平方和的最小整数
from math import sqrt
from itertools import combinations
def isprime(n):
for i in range(2,int(sqrt(n)+1)):
if n%i==0:
return 0
return 1
def combine(ls):#lt(即t)中每3个元素组成一个不同的元组
t=[]
for c in combinations(ls,3):
t.append(c)
return t
def six(lt):
result=[]
for i in lt:
sum=i[0]**2+i[1]**2+i[2]**2
result.append(sum)#result中存放不超过100的素数中任意3个不同素数平方和的所有可能
j=0
while True:
if result.count(j)==6:#如果j在result中出现6次,即为满足条件的最小值
return j
j+=1
ls=[]
for i in range(2,101):
if isprime(i):
ls.append(i)#ls中为0-100的素数
lt=combine(ls)
n=six(lt)
print(n)