我发现多头不会削减它,因为我正在计算的数字太大而无法适应。我正在为 BigInts 的概念而苦苦挣扎。
可以说我有以下等式要执行。
int p = 11549
int n = 252817
等式如下.. : ( number * p )^ (i 次方)%n 。
我刚做的很长:
long number;
long p;
long n;
long temp;
long total;
for (int i=0; i<6;i++) {
temp = numer*Math.pow(p,i);
total += temp;
}
total %= n;
但是当我使用 Math.pow 时,使用这种方法的数字会变得很大,我需要使用 BigIntegers。我只是不明白我该怎么做。现在我得到了这个:(在我弄清楚电源关闭语句之前,缺少 %。)
long temp;
long p;
BigInteger opphoyd;
BigInteger mod;
for (int i=0;i<6;i++) {
temp = number * p;
opphoyd = BigInteger.valueOf(temp);
mod = BigInteger.valueOf(i);
mod.add(opphoyd.pow(i));
mod.add(opphoyd);
System.out.println(mod);
}
但它根本不起作用,有人能指出我正确的方向吗?