我將如何去了解這個n Java?使用Java來計算11^-1 mod 26
double power = (Math.pow(11,-1)) % 26;
System.out.println(power);
剛回來0.09090909090909091
。根據wolfram
謝謝!
我將如何去了解這個n Java?使用Java來計算11^-1 mod 26
double power = (Math.pow(11,-1)) % 26;
System.out.println(power);
剛回來0.09090909090909091
。根據wolfram
謝謝!
Java在技術上是正確的,11 mod 26的倒數是(近似)0.09090909090909,因爲0.09090909090909 * 11約爲1,無論是否爲mod 26。
但是,你試圖找到的是一個具有相同屬性的整數,19,因爲19 * 11 = 1 mod 26,你不能用相同的方法來做到這一點。
幸運的是,標準庫中有你覆蓋:如預期
import java.math.BigInteger;
class Test {
public static void main(String[] args) {
System.out.println(
new BigInteger("11").modInverse(new BigInteger("26")));
}
}
+1瞭解問題,+1給予此解決方案! (該死,爲什麼我不能兩次投票?) – Barranka 2014-10-30 15:39:42
+1我同意巴蘭卡的觀點,爲了解這個問題,你應該得到雙倍的讚賞! – 2014-10-30 15:40:35
我曾經是CS TA:P – 2014-10-30 15:41:17
你期待什麼輸出? – Eran 2014-10-30 15:32:35
有什麼問題? – 2014-10-30 15:33:43
Btw,11^-1 = 1/11〜0.09。這種模26應該顯然仍然導致相同的值。 – 2014-10-30 15:36:22