题目描述:
两个质数的和是S,他们的积最大是多少?
输入格式
一个不大于10000的正整数S,为两个质数的和。
输出格式
一个整数,为两个质数的最大乘积。数据保证有解。
输入样例
50
输出样例
589
参考代码
import math
def sushu(x) : #判断素数
x_sqrt=math.sqrt(x)
i=2
while i <= x_sqrt :
if x % i == 0 : #被整除不是素数
result = False
break
i=i+1
else :
result = True
return result
s=int(input())
n=s//2 #整除
while n >= 2 :
m=s-n
if sushu(n) and sushu(m) is True :
print(n*m)
break
else :
n=n-1
从S/2附近开始寻找,第一个满足条件的即是