import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner s= new Scanner(System.in);
int t1=s.nextInt();
int t2= s.nextInt();
int n= s.nextInt();
double arr[]= new double[20];
for(int i=0;i<20;i++){
arr[i]=-1;
}
arr[1]= t1;
arr[2]=t2;
if(arr[n]!=-1){
System.out.println((long)arr[n]);
}
else{
for(int i=3;i<=n;i++){
arr[i]= arr[i-2] + Math.pow(arr[i-1],2);
}
System.out.println((long)arr[n]);
}
}
}
此代码是经过修改的Fibonacci系列。我想计算这个序列中的第十位数。但结果非常大我想问一下我应该把答案放在哪种类型?我用了很久但失败了......请建议任何其他类型......
答案 0 :(得分:1)
这种计算有一种称为BigInteger
的特殊类型。查找更多信息here。
修改强>
您可以从BigInteger
String
BigInteger bigInt = new BigInteger("24");
或来自整数类型
BigInteger fromInt = BigInteger.valueOf(24);