2012年6月13日 星期三

tioj 1674 新專輯

對於 x > sqrt(n),至少有兩個數字除n得同一商

基於此,便可把原本的O(n)攤成『直接枚舉』O(sqrt(n)) + 『等差級數』O(sqrt(n))

以15為例:

--------(X15)
1: 0
--------(X7)
2: 1
--------(X5)
3: 0
--------(X3)
4: 3
5: 0
--------(X2)
6: 3
7: 1
--------(X1)
8: 7
9: 6
10: 5
11: 4
12: 3
13: 2
14: 1
15: 0

My code: http://codepad.org/QeDh2BXl

沒有留言:

張貼留言