哥德巴赫猜想是指大于 2 的偶数都可以分解为两个质数之和,下面的代码用于验证 4-1000 之内的偶数能否分解为两个质数之和。下面 C++ 代码中假设 isPrime() 是已经定义好用于判断正整数 N 是否为质数,返回 bool 值。对该段代码,错误的说法是( )。
isPrime()
bool
for (i = 4; i < 1000; i += 2) for (j = 2; j < i; j++) if (isPrime(j) && isPrime(i-j)){ printf("%d=%d+%d\n", i, j, i-j); break; }
将代码 isPrime(j) && isPrime(i-j) 修改为 isPrime(j) == true && isPrime(i-j) == true 效果相同
isPrime(j) && isPrime(i-j)
isPrime(j) == true && isPrime(i-j) == true
代码执行后,输出的一对质数,一定是小的数在前
即便将外层循环中 i 的上界 1000 修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想
i
根据题意,break 语句应该移到 if 语句块之外
break
if