Bor*_*ris -4 java biginteger fibonacci
所以我编写了可以找到N'th Fibonacci数的java代码.我的问题是,我必须输出答案%1000000007.我以为我可以通过写作来完成
System.out.println(answer.mod(1000000007));
Run Code Online (Sandbox Code Playgroud)
但它不允许我这样做,我得到一个错误"BigInteger类型中的方法mod(BigInteger)不适用于参数(int)"
有人可以帮助我,这是我的代码.
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
public class dmoj
{
public static void main(String[] args) throws IOException{
Scanner scan = new Scanner(System.in);
BigDecimal d, v, t, a;
BigInteger b;
int index;
int n = scan.nextInt();
double phi1 = (1 + Math.sqrt(5)) / 2;
double phi2 = (1 - Math.sqrt(5)) / 2;
double sqrt = Math.sqrt(5);
d = new BigDecimal(phi1);
v = new BigDecimal(phi2);
a = new BigDecimal(sqrt);
d = d.pow(n);
v = v.pow(n);
t = d.subtract(v);
t = t.divide(a);
b = t.toBigInteger();
System.out.println(b.mod(1000000007)); //I get an error here.
}
}
Run Code Online (Sandbox Code Playgroud)
你必须传递另一个`BigInteger:
System.out.println(answer.mod(BigInteger.valueOf(1000000007)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |