哥德巴赫猜想(新手题解)
2024-04-14 16:06:27
发布于:上海
29阅读
0回复
0点赞
tips:本篇题解中不贴完整代码(仅供学术)。
我第一篇题解,望关照。
哥德巴赫猜想:
任一大于 2 的偶数都可写成两个质数之和。
如果一个数不止一种分法。
以及“则输出第一个加数相比其他分法最小的方案。“
可能有些拗口,解释一下 。
按样例来说
10 = 1+9 9不是质数,遂舍去
10 = 2+8 8不是质数,遂舍去
10 = 3+7,有此情况
10 = 4+6 4,6均不是质数,遂舍去
10 = 5+5 ,有此情况
而题目要求的第一个加数(即较小的那个加数)的大小来确定输出的唯一性
因为3<5 所以舍去情况10=5+5。
理解完题目后,我们需要开始做题
首先判断两个加数是否为素数
随后进行遍历来找出最小的加数
最后输出。
基于素数,这有一个模版来判断素数,可以积累一下。
bool sushu(int n){
for(int i=2;i<=n-1;i++){
if(n%i==0) return false;
}
return true;
}
再说一下为什么要用bool(这是新手题解)
bool 是 是否 的定义(表示判定是否是素数)
最后说一声,遍历出情况之后,记得break。
2024/4/14
这里空空如也
有帮助,赞一个