质数的和与积c语言

质数的和与积c语言

1030 :质数的和与积【C/C++/Java/Python】

题目描述两个质数的和是S,它们的积最大是多少?

提示输入输出格式输入格式

一个不大于10000的正整数S,为两个质数的和。

输出格式

一个整数,为两个质数的最大乘积。数据保证有解。

输入输出样例输入

50

输出

589

【举例及代码】和为定值 从中间拆开往两边遍历每种情况

11

10

5 6

5 5

4 7

4 6

3 8

3 7

2 9

2 8

#include

#include

int isprime(int m)//判断是否为质数

{

int i;

for(i=2;i<=sqrt(m);i++){

if(m%i==0) return 0;

} return 1;

}

int main()

{

int a,i;

scanf("%d",&a);

for(i=a/2;i>=2;i--){ //从中间拆开,两个数越接近其乘积越大

if(isprime(i)&&isprime(a-i)){

printf("%d",i*(a-i)); //若两个数均为质数,输出乘积

break; //终止循环

} }

return 0;

}

相关推荐

冰淇凌的做法

冰淇凌的做法

2441 08-11
长渠道和短渠道的优缺点 在网络营销里面的“长渠道”和“短渠道”是如何应用?
Excel打印难题破解:让超长超宽表格完美打印在一页