题目描述
两个质数的和是SSS,它们的积最大是多少?
输入
输入为一行,包含一个整数s(0≤S≤10000)s(0 \leq S \leq 10000)s(0≤S≤10000)
输出
一个整数,为两个质数的最大乘积。数据保证有解。
输入输出样例
样例输入 #1
复制
50
样例输出 #1
复制
589
解答:
#include<stdio.h>
#include<math.h>
int f(int n)
{
int i;
for (i = 2; i <=sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
int main()
{
int sum, i, x=0, t = 0;
scanf("%d",&sum);
for (i = 1; i < sum; i++)
{
if (f(i) && f(sum - i))
{
x = i * (sum - i);
if (x >= t)
t = x;
}
}
printf("%d",t);
return 0;
}