c语言求哥德巴赫猜想#include int main(){int n,m,k,misprime,nmisprime;for(n = 6;n

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 02:16:33
c语言求哥德巴赫猜想#include int main(){int n,m,k,misprime,nmisprime;for(n = 6;n
xS]s@}`Ɨe_Z է`+ hQP[24gn6O dCp7_6{={6tb]Q؍ m a+dٟw/BImHHʫwVܽL$"Rr;IJ[D^W^ɬʡgrE& px%wև)Eʟt"߅yvGd|p1}f55:rIБ  >ZNL1582b7-nH?Hvfn-{_>Bl_iD|XׂeNvqzy`PvyPOU3J!wƾu%T>Ǖ; f'Y# ހ@.; dwc "ұjVQBP8M) GEWr"!/QO( 2!f/Ǡ;w(iX6:4AUFb|yVp (\5>E[E::rm LT0M >xd>gU_r;ʺsx"|K>{3Gѷ-C$z\r~?

c语言求哥德巴赫猜想#include int main(){int n,m,k,misprime,nmisprime;for(n = 6;n
c语言求哥德巴赫猜想
#include
int main()
{
int n,m,k,misprime,nmisprime;
for(n = 6;n

c语言求哥德巴赫猜想#include int main(){int n,m,k,misprime,nmisprime;for(n = 6;n
这个程序的逻辑是有点问题,之所以不出错就是因为misprime的值一直是1.一直是1的原因是因为n的循环次数内,哥德巴赫猜想一直成立,成立时misprime和nmisprime都是1.
两个嵌套的for循环是用来判断m和n-m是否是质数,在for循环进不去的情况下:
能肯定m及n-m等于3,因为m是从3开始的,且每次加2;k从2开始,k*k小于等于m不成立,那么m一定是3,所以for进不去时m的值一定是3,那就一定是质数,这时候应该对misprime赋值为1,而巧合的是misprime的值一直等于1,所以程序运行也就没出异常.
正常的逻辑应该加上当for进不去时,也就是在for后面判断k的值,如果k为2证明for循环没进去,那么对misprime赋值为1.