【发布时间】:2020-05-17 17:08:13
【问题描述】:
我不知道为什么 g++ 不喜欢我的代码。它在java中运行良好。任何见解将不胜感激。
#include<iostream>
using namespace std;
bool isPrime(long number);
int main(){
const long number = 600851475143;
long max = 0;
for(long i= 0; i*i <= number; i++)
if(number % i == 0 && isPrime(i))
max = i;
cout<< max << endl;
return 0;
}
bool isPrime(long number){
if(number <= 1) return false;
if(number == 2) return true;
if(number % 2 == 0) return false;
for(long i= 3; i*i <= number; i+=2)
if(number % i == 0)
return false;
return true;
}
【问题讨论】:
-
只是一个快速说明以备将来使用,当我(很少)除以 0 时,我也遇到了同样的错误。
-
这实际上是问题所在,尽管它是 % 而不是 /。不过同样的想法。
标签: c++