c++ - 获取“浮点异常:8”(我正在使用 Visual Studio Code)
问题描述
#include <iostream>
using namespace std;
int findPrime(unsigned long long int number);
bool isPrime(unsigned long long int number);
int main(){
const unsigned long long int bound = 600851475143;
cout << findPrime(bound) << endl;
}
int findPrime(unsigned long long int number){
int largestFactor = 0;
for(int i = 1; i <= sqrt(number); i++){
if(number % i == 0){
int possible = number/i;
if(isPrime(possible))
largestFactor = possible;
}
}
return largestFactor;
}
bool isPrime(unsigned long long int number){
for(int i = 0; i <= sqrt(number); i++){
if(number % i == 0){
return true;
}
}
return false;
}
这段代码的目的是找到最大的素数。我收到 Floating point exception: 8 运行它时,它在 Visual Studio Code 中,我正在从终端运行。
解决方案
在此代码的第一次迭代中
bool isPrime(unsigned long long int number){
for(int i = 0; i <= sqrt(number); i++){
if(number % i == 0){
return true;
}
}
return false;
}
除以零已完成,但不允许这样做。对于素数检查,循环应该从 开始2
,而不是。0
推荐阅读
- raspberry-pi - 将 UPC 数字从树莓派发送到 POS
- javascript - 正则表达式美国数字格式与 +1-xxx-xxx-xxxx 的特定格式?
- powershell - Powershell 7.1 中缺少导出计数器
- python - 使用特定行 pandas 数据框的条件创建嵌套字典/json [Tricky]
- html - CSS - 如何在两个部分块之间留出空间?
- c++ - 将带有pair的C++ 11代码映射转换为C++ 03
- python - Pygame 在渲染我的代码几秒钟后就崩溃了
- bash - -bash: ls: 在 macOS Big Sur 11.0.1 上找不到命令
- javascript - 无论设备大小如何,创建需要适合父 div 的一组输入和按钮
- ruby - logstash jruby 过滤器返回错误数据