import com.sun.corba.se.spi.orbutil.fsm.Input;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
private long[] data=new long[51];
public long f(int num){
if(num==0)return 0;
else if(num==1)return 1 ;
else return f(num-1)+f(num-2);
}//采用递归方法发现计算时间无法满足
public void f2(int num){
for(int i=0;i<=num;i++)
if(i<=1)data[i]=i;
else data[i]=data[i-1]+data[i-2];
}//采用动态规划的思想进行计算
public static void main(String[] args) {
Main fab=new Main();
Scanner Input = new Scanner(System.in);
List<Integer> num=new ArrayList<Integer>();
List<Long> result=new ArrayList<Long>();
int flag=0;
while(Input.hasNext()){
int i=Input.nextInt();
if(i==-1)break;
else
num.add(i);
}
for(int i:num)
if(flag<i)
flag=i;
fab.f2(flag);
for(int i:num)
System.out.println(fab.data[i]);
}
}
杭电OJ--2070
最新推荐文章于 2021-07-18 13:14:39 发布