多次乘方運算 超級數

一、超級數

【題目描述】:

衆所周知,多次加法運算是乘法,多次乘法運算是乘方,那麼多次乘方運算呢?

 

 

但是,這個數光是想想就遠遠超過了整個宇宙的大小,所以你只要求出它的值MOD P就可以了

 

【輸入】:

第一行兩個數NP,如題目描述。

第二行N個數,表示a1~n

 

【輸出】:

僅一個數,表示它的值mod p的結果。

 

【樣例輸入】:

5 13

2 2 2 2 2

 

【樣例輸出】:

3

 

【說明】:

20%的數據N3ai<1000

40%的數據aip爲質數或1

100%的數據N20aipMaxlongint

算法簡介:

如果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,就對了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章