求C++高手进入~编个小程序
我是C++初学者~老师让写个哥德巴赫猜想猜想~验证10的5次方以内的数全能变成两个奇质数的和~我们只学了钱能编的那本C++教材的前4章,所以尽量简单,哪怕比较长也无所谓,...
我是C++初学者~老师让写个哥德巴赫猜想猜想~验证10的5次方以内的数全能变成两个奇质数的和~我们只学了钱能编的那本C++教材的前4章,所以尽量简单,哪怕比较长也无所谓,谢谢给位大侠了.
展开
3个回答
展开全部
#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;
}
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是个大数字,不能少考虑的一点就是尽量节约内存资源!不要次次都将十万循环一次~内存不够会报错的!
然后再用for循环,一个个循环过去相加,然后用cout语句打出x+y=100000!
100000是个大数字,不能少考虑的一点就是尽量节约内存资源!不要次次都将十万循环一次~内存不够会报错的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会吧。一个奇数也能变成两个奇质数之和???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询