2013-07-06 41 views
0
int p=223; 
int q=569; 
int n=p*q; 
double num=65; 
double d=100877; 
exp=Math.pow(num,d); 
c=(exp)%n; 
System.out.print(expo); 
System.out.print("\n"+Math.pow(65, 100877)); 

OUTPUT:無限如何處理超過3000位數字的號碼?

但實際結果有超過3000個數字,我怎樣才能得到完整的號碼?

回答

6

BigInteger應該幫助你做這個計算。但我擔心你可以使用Math.pow(),因爲它可能無法按照你的意願生成大數字。 Math.pow將受雙倍範圍的限制,因爲方法簽名對輸入和返回輸出都使用雙倍。你可能必須實現你自己的pow方法,它應該返回一個BigInteger。

編輯:我剛查過它,發現java.math.BigInteger.pow(int exponent)將成爲你的朋友。

+0

BigInteger已經包含mod方法 – Divers

+0

@Divers'mod'?它是'pow','mod'不返回權力。 – BackSlash

+0

只是一個錯誤( – Divers

相關問題