我整数的实际情况是
int d = 1;
while(true)
{
if(((e*d)%f)==1)
{
break;
}
else
d++;
}
Run Code Online (Sandbox Code Playgroud)
我已经在BigInteger中写了这个条件
while(true)
{
if(((e.multiply(d)).mod(f)).equals(1))
{
break;
}
else
d=d.add(BigInteger.ONE);
}
Run Code Online (Sandbox Code Playgroud)
当我在BigInteger中执行上面的代码时,它会无限执行.但是,当我以整数执行代码时,它会完美地执行并从循环中退出.请告诉我错误是什么.
if(((e.multiply(d)).mod(f)).equals(1))
Run Code Online (Sandbox Code Playgroud)
你不能做与a BigInteger和autoboxed 相等的比较Integer.
你需要这样做:
if(((e.multiply(d)).mod(f)).equals(BigInteger.ONE))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |