Description
验证“每个不小于6的偶数都是两个素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。
Input
输入一个不小于6的偶数n。
Output
找出两个素数,使它们的和为n。只需要输出其中第一个素数最小的一组数据即可。
Sample
Input
80
Output
80=7+73
#include<iostream>
using namespace std;
int a[9999];//存放从0到n之间的素数;
int main()
{
int n;
int x=0;
cin>>n;
for(int i=2;i<n;i++)
{
int flag=0;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
flag=1;
}
}//判断是否为素数,若不是素数,flag置1,跳过它;若是素数,则执行下面的if语句,把i的值传到数组;
if(flag==0)
{
a[x]=i;
x++;
}
}
for(int i=0;i<n;i++)
{
for(int j=n;j>0;j--)
{
if((a[i]+a[j])==n)
{
cout<<n<<"="<<a[i]<<"+"<<a[j]<<endl;//双重循环查找满足条件的值
return 0;
}
}
}
return 0;
}