java次方求餘

2015-07-10 1:42 am
次方求餘 : 輸入三個正整數 a b c,輸出(a^b)%c,即 a 的 b次方 對 c的餘數。


import java.util.*;
class main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
long d=Math.round(Math.pow(a,b))%c;


System.out.print(d);


}
}

以上是我打的程式 但因為數字太大求餘數怪怪的希望有人可以幫我訂正

回答 (3)

2015-07-15 12:38 am
✔ 最佳答案
之前有人問過,
網站好像是

http://okonlineshop.com


有不明白,您可以加我,希望可以幫到你啦。
2015-07-11 9:17 pm
請問有解決的方法嗎?
2015-07-10 2:56 am
數字太大是因為你輸入的數字超過double(Math.pow)的範圍了,所以Math.pow 回傳一些奇怪的數字,導致你的餘數不正常

2015-07-18 14:19:23 補充:
無!除非你不用Math.pow 或是輸入太大的數字
不用Math.pow,你就要用迴圈自己慢慢乘以,然後找一個比Double還大的,像是BigInteger等


收錄日期: 2021-04-18 15:01:26
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150709000015KK06058

檢視 Wayback Machine 備份