Key:
number的power次方可被表示為以下形式
power為偶數:(number^2)^(power/2)
power為奇數:number * (number^2)^((power-1)/2)
如 3^13 = 3 * (3^2)^6
利用此特點,在計算時可大幅提升速度。
為了避免數字超出範圍,於每次計算後 %10007。
可供利用小技巧:
n /= 2 等同於 n >>= 1,但後者為Bit計算,相較於除法快
n & 1 在n為奇數時回傳true,n為偶數時回傳false,並比 n % 2 快(Bit計算)
Key:
number的power次方可被表示為以下形式
power為偶數:(number^2)^(power/2)
power為奇數:number * (number^2)^((power-1)/2)
如 3^13 = 3 * (3^2)^6
利用此特點,在計算時可大幅提升速度。
為了避免數字超出範圍,於每次計算後 %10007。
可供利用小技巧:
n /= 2 等同於 n >>= 1,但後者為Bit計算,相較於除法快
n & 1 在n為奇數時回傳true,n為偶數時回傳false,並比 n % 2 快(Bit計算)
更正:n & 1 等同於 n % 2,上面寫反了
Key:
number的power次方可被表示為以下形式
power為偶數:(number^2)^(power/2)
power為奇數:number * (number^2)^((power-1)/2)
如 3^13 = 3 * (3^2)^6
利用此特點,在計算時可大幅提升速度。
為了避免數字超出範圍,於每次計算後 %10007。
可供利用小技巧:
n /= 2 等同於 n >>= 1,但後者為Bit計算,相較於除法快
n & 1 在n為奇數時回傳true,n為偶數時回傳false,並比 n % 2 快(Bit計算)
更正:n & 1 等同於 n % 2,上面寫反了
更正x2:上面沒寫反,偶數&1回傳0,奇數&1回傳1,目前腦袋有點糊