计算给定数量的除数数的算法计算给定数量的除数的最佳算法(性能方面)是什么?如果您能提供伪代码或链接到一些示例,那将会很棒。编辑:所有答案都非常有帮助,谢谢。我正在实施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;}
添加回答
举报
0/150
提交
取消