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個數字,我怎樣才能得到完整的號碼?
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個數字,我怎樣才能得到完整的號碼?
BigInteger應該幫助你做這個計算。但我擔心你可以使用Math.pow(),因爲它可能無法按照你的意願生成大數字。 Math.pow將受雙倍範圍的限制,因爲方法簽名對輸入和返回輸出都使用雙倍。你可能必須實現你自己的pow方法,它應該返回一個BigInteger。
編輯:我剛查過它,發現java.math.BigInteger.pow(int exponent)將成爲你的朋友。
看看BigInteger。我會幫你的。
BigInteger已經包含mod方法 – Divers
@Divers'mod'?它是'pow','mod'不返回權力。 – BackSlash
只是一個錯誤( – Divers