一、超級數
【題目描述】:
衆所周知,多次加法運算是乘法,多次乘法運算是乘方,那麼多次乘方運算呢?
但是,這個數光是想想就遠遠超過了整個宇宙的大小,所以你只要求出它的值MOD P就可以了
【輸入】:
第一行兩個數N,P,如題目描述。
第二行N個數,表示a1~n。
【輸出】:
僅一個數,表示它的值mod p的結果。
【樣例輸入】:
5 13
2 2 2 2 2
【樣例輸出】:
3
【說明】:
20%的數據N≤3,ai<1000;
40%的數據ai,p爲質數或1;
100%的數據N≤20,ai,p≤Maxlongint。
算法簡介:
如果X < PHI(C) 則 A^X MOD C = A^(X MOD PHI(C)) MOD C
否則 A^X MOD C = A^(X MOD PHI(C)+ PHI(C)) MOD C
PHI(X)函數表示的是X前有多少個數與他互質......
利用歐拉函數來做,不懂的可以去找去找我初中老師,證明可見:http://hi.baidu.com/aekdycoin/blog/item/b6f1762565bb403fc8955908.html
關於歐拉函數:http://wenku.baidu.com/view/2cdefb62caaedd3383c4d35c.html
這個是新的,話說大家可以把我的程序翻出來,把PHI中的TRUNC改成ROUND,就對了