c++程序验哥德巴赫猜想

时间: 发布人:cjqhj111

c++程序验哥德巴赫猜想

已解决问题

谷歌cjqhj111用户在提交了关于“无上神帝c++程序验哥德巴赫猜想”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-28T02:36:29。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,没有什么华丽的语言,但是我对你的感谢不会减少 !

希望以下的回答,能够帮助你。

第1个回答

用户名:zhaojuan220  

问题出在求素数扬象建修函数
intA::prime(int)没有定义具体的参变量,而函数年饭兴差德菜列不已突右体内使用类A的成员边立好圆快变量X(是一个全局首我教叫第电距变量),X变量来自于用户问答的输入,而不是prime的调用参数。所以修改prime函数如下:
intA::prime(int**m)
{
inti,flge=1;
for(i=2;i<=sq运意rt(**m);i百露查川交结叫略川田++)
if(**m%i==0)
{
flge=0;
bre**;
}
returnflge;
}
同时困修改prime函资方晚权告极基数的预定义
intprime(i然速nt);为
intprime(i看提述击也免业龙某nt**m);

改后的程序已可正常运行,代码如下:
#include<iostream>
#include<cmath>
usingnamespacestd;
classA
{
public:
int假黑x;
intprime(int**m);
intgotbaha(void);
};
intA::prime(int**m)
{
inti,flge=1;
for(i=2;i<=sqrt(**m);i让新围++)
if(**m%i==0)
{
flge=0;
bre**;
}
returnflg武面唱编镇苦服孔e;
}
intA::gotbaha(voi盟d)
{
for(inti=3;i<=x/2;i=i+2)
{
if(prime(i)&&prime(x-i))
{
cout<<x<<"="<<i<<"+"<<x呀-i<<endl;
return1;
}
}
return0;
}
intmain()
{
Aa1;
cout<<"Pleas许径叶皮液先eenteraneven**mbernotlessthan6:"<<endl;//请输入一个不小于6的偶数
cin>>a1.x;
w量下朝曾hile(a1.x<6||a1.x%2!=0)
{
cout<<"undefined,pleasereturnenter"<<endl;//输入不符要求,请重新输入
cin>>a1.x;
}
if(a1.gotbaha())
cout<<a1.x<<"TomeettheGoldbachconjecture"<<endl;//满足哥德巴赫猜想
else
cout<<a1.x<<"DoesnotmeettheGoldbachconjecture"<<endl;//不满足哥德巴赫猜想
return0;
}