計算給定數量的除數數的算法計算給定數量的除數的最佳算法(性能方面)是什么?如果您能提供偽代碼或鏈接到一些示例,那將會很棒。編輯:所有答案都非常有幫助,謝謝。我正在實施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
提交
取消