【问题描述】
两个质数的和是s,它们的积最大是多少?
输入数据
输入为一行,包含一个整数s(0<=s<=10000)。
输出数据
一个整数,为两个质数的最大乘积。数据保证有解。
输入样例
50
输出样例
589
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,d,e,n,m,i,j,sum=0,flag=-1;
printf(“请输入一个合数:”);
scanf("%d",&n);
for(a=2;a<=n;a++)
{
e=sqrt(a);
for(d=2;d<=e;d++)
{
if(a%d!=0)
flag=1;
else
{
flag=-1;
break;
}
}
if (e<=1||flag1)
{
flag=-1;
for(b=a+1;b<n;b++)
{
e=sqrt(b);
for(d=2;d<=e;d++)
{
if(b%d!=0)
flag=1;
else
{
flag=-1;
break;
}
}
if(flag1&&a+b==50)
{
j=a*b;
sum=j;
}
}
}
}
printf("%d\n",sum);
return 0;
}
质数的和与积
最新推荐文章于 2024-06-02 07:30:00 发布