04138: 质数的和与积
math, http://cs101.openjudge.cn/practice/04138
两个质数的和是S,它们的积最大是多少?
输入
一个不大于10000的正整数S,为两个质数的和。
输出
一个整数,为两个质数的最大乘积。数据保证有解。
样例输入
50样例输出
589来源
《奥数典型题举一反三(小学五年级)》 (ISBN 978-7-5445-2882-5) 第三章 第二讲 例1
python
S = int(input())
def isprime(n):
for i in range(2, int(n**.5) + 1):
if n%i == 0:
return False
else:
return True
maxmultiple = 0
f = 2
while f<S:
if isprime(S - f):
maxmultiple = max(maxmultiple, f*(S-f))
f += 1
while isprime(f)==False:
f += 1
print(maxmultiple)