求C++高手进入~编个小程序

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:51:46
我是C++初学者~老师让写个哥德巴赫猜想猜想~验证10的5次方以内的数全能变成两个奇质数的和~我们只学了钱能编的那本C++教材的前4章,所以尽量简单,哪怕比较长也无所谓,谢谢给位大侠了.

#include<iostream>
using namespace std;
bool prime(int x){
if (x==1)return false;
if (x==2 || x==3)return true;
for (int i=3;i*i<=x;i+=2){
if (x%i==0)return false;
}
return true;
}
int main(){
int k;
for (int i=4;i<=100000;i+=2){
for (int j=2;j<i;j++){
if(prime(j) && prime(i-j)){
cout<<i<<'='<<j<<'+ '<<i-j<<endl;
}
}
}
return 0;
}

除了2以外,质数都是奇数!!首先用for循环求出100000内2以外的质数。
然后再用for循环,一个个循环过去相加,然后用cout语句打出x+y=100000!
100000是个大数字,不能少考虑的一点就是尽量节约内存资源!不要次次都将十万循环一次~内存不够会报错的!

不会吧。一个奇数也能变成两个奇质数之和???