gpt4 book ai didi

c++ - 当除数之和不大于数字时,程序将不接受大于 10000 的限制

转载 作者:行者123 更新时间:2023-11-28 04:21:39 24 4
gpt4 key购买 nike

当我将限制从 100 更改为 1,000,000 时,它不会打印出所有数字,它会停在 5 位数字上并且不会计算更高的数字。这是为什么?

#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{

const int limit = argc > 1 ? atoi(argv[1]) : 100;
const int badness = argc > 2 ? atoi(argv[2]) : 1;


for (int num = 2; num < limit; num++) {

int total = 1;

for (int factor = 2; factor * factor <= num; factor++) {

if (num % factor == 0) {
total += factor;


if (factor * factor != num) {
total += (num / factor);
}
}


}

if (abs(num - total) <= abs(badness)) {

cout << num << " " << flush;
}
}
}

最佳答案

看看这个 https://en.wikipedia.org/wiki/C_data_types

这可能是因为您正在使用 int。

尝试使用 long 或 unsigned long

关于c++ - 当除数之和不大于数字时,程序将不接受大于 10000 的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55320886/

24 4 0
文章推荐: c++ - 为 C++ chrono 重定向 newlib
文章推荐: javascript - jQuery:隐藏带有日期对象的div
文章推荐: javascript - 尝试将 $UI 元素附加到
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com