TIOJ-2095
求$a^{b^c}\mod 880301(1\le a,b,c\le 10^9)$(880301是質數)。
有人寫了一個快速冪函數,不過爛了,求會出現問題的測資。
1 |
|
很正常的快速冪函數,中間用了三個if到處特判有夠危險。
果然問題出在這裡,當A=0, B=0(雖然數學上未定義,但這裡是模數),mypow會回傳1而非0。
但原問題的條件不允許輸出0。然而$b^c\mod p-1$這一項可以讓她變零。
所以輸出p p-1 1就好。
1 | /* |
求$a^{b^c}\mod 880301(1\le a,b,c\le 10^9)$(880301是質數)。
有人寫了一個快速冪函數,不過爛了,求會出現問題的測資。
1 | #include<iostream> |
很正常的快速冪函數,中間用了三個if到處特判有夠危險。
果然問題出在這裡,當A=0, B=0(雖然數學上未定義,但這裡是模數),mypow會回傳1而非0。
但原問題的條件不允許輸出0。然而$b^c\mod p-1$這一項可以讓她變零。
所以輸出p p-1 1就好。
1 | /* |