下面以欧拉-巴德哥赫猜想为例进行验证,其他各个版本的验证方法类似;
任何大于2的偶数都是两个素数之和
首先需要有验证是否是素数(质数)的函数
https://blog.csdn.net/qq_64744030/article/details/123903291?utm_source=app&app_version=5.3.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
然后,从大于二的第一个整数3开始循环,找到一个素数时,用输入的n值减去这个素数,如果还能再得到一个素数,则证明该猜想成立。
#includeusing namespace std; int isprime(int n) { int q; bool w = 0; for (int i = 2; i < n; i++) { if (n % i == 0) { w = 1; } } if (w) { q = 0;//不是素数 } else { q = 1;//是素数 } return q; } void divide(int n) { int m; for (int i = 3; i < n / 2; i++) { if (isprime(i)==1) { m = n - i; } else { continue; } if(isprime(m)==1) { cout << m + i << '=' << m << '+' << i << endl; cout << "巴德哥赫思想成立!" << endl; break; } else { cout << "巴德哥赫思想不成立!" << endl; } } } int main() { int n; cin >> n; if (n > 2 && n % 2 == 0) { for (int i = 3; i <= n; i++) { divide(i); } } return 0; }



