为了账号安全,请及时绑定邮箱和手机立即绑定

计算给定数量的除数数的算法

计算给定数量的除数数的算法

计算给定数量的除数数的算法计算给定数量的除数的最佳算法(性能方面)是什么?如果您能提供伪代码或链接到一些示例,那将会很棒。编辑:所有答案都非常有帮助,谢谢。我正在实施Atkin的Sieve,然后我将使用类似于Jonathan Leffler所指出的东西。Justin Bozonier发布的链接提供了我想要的更多信息。
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

你的除数函数有一个错误,因为它对于完美的正方形不能正常工作。

尝试:

int divisors(int x) {
    int limit = x;
    int numberOfDivisors = 0;
    if (x == 1) return 1;
    for (int i = 1; i < limit; ++i) {
        if (x % i == 0) {
            limit = x / i;
            if (limit != i) {
                numberOfDivisors++;
            }
            numberOfDivisors++;
        }
    }
    return numberOfDivisors;}


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 323 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信