有以下幾點要注意:
- P要是一個q*2^k+1的質數,G是P的原根
- N(數列長度)要是2的冪次
- (P-1)%N=0
- 做了逆轉換後的結果為原本數列mod P的結果,所以P要夠大
- 如果要求P是任意數的話,可以用中國剩餘定理處理
- 2615053605667*(2^18)+1,3
- 15*(2^27)+1,31
- 479*(2^21)+1,3
- 7*17*(2^23)+1,3
- 3*3*211*(2^19)+1,5
- 25*(2^22)+1,3
long long 乘 long long 模 long long不溢位算法
只需要將code裡面所有的A*B%M的部分改掉即可
以下提供模板(bit_reverse參考自Morris):
沒有留言:
張貼留言