急用!!谁能帮忙用c++写这个程序:

来源:百度知道 编辑:UC知道 时间:2024/06/08 17:23:07
任何一个大于等于6的偶数都可表示为两个素数之和。请列出100-200之间的所有偶数被表示成两个素数之和的全部形式。注意:如14可表示为14=3+11,还可表示为14=7+7(不需要再考虑14=11+3)

#include <iostream.h>
#include <math.h>
bool prime(int a) //判断是否素数
{int i;
if(a==1) return 0;
for(i=2;i<=sqrt(a);i++)
if(a%i==0) return 0;
return 1;
}
void main()
{
int m,n;
int i,j;
m=100;n=400; //从100到400,可以改变
if(m%2!=0)
cout<<"ERROR!"<<endl; //m要为偶数
for(i=m;i<=n;i+=2) //从m到n的偶数,只需依次加2
for(j=2;j<=i/2;j++) //从2(素数),依次加1,到i/2即停止
{if(prime(j)&&prime(i-j)) //判断j,i-j是否都是素数,是则显示
cout<<i<<"="<<j<<"+"<<i-j<<"\t";
}
cout<<endl;
}
/*以上可以显示出从100-400的结果,由于屏幕小,从100-136的看不到,
你可以将m,n值改为2到134,显示出来*/