Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
验证“每个不小于6的偶数都是两个素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。
Input
输入一个不小于6的偶数n。
Output
找出两个素数,使它们的和为n。只需要输出其中第一个素数最小的一组数据即可。
Sample Input
80
Sample Output
80=7+73
Hint
Source
#include <stdio.h>
#include <stdlib.h>
int f(int n)
{
int i,j;
for(i=2;i<n;i++)
{
for(j=2;j<i;j++)
//for循环为一个判断素数过程
{
if(i%j==0)
break;
}
if(j==i)
//如果“i”是素数,继续执行下面语句判断n-i是否为素数
{
for(j=2;j<n-i;j++)
{
if((n-i)%j==0)
break;
}
if(j==n-i)
//如果n-i也为素数,则返回i的值,返回值后函数便结束继续执行;
return i;
}
}
}
int main()
{
int n,a;
scanf("%d",&n);
a= f(n);
printf("%d=%d+%d\n",n,a,n-a);
return 0;
}