Fibonacci数列 import java.util.*; public class Main { public static int MAX=32; public static void main(String args[]){ Scanner in=new Scanner(System.in); int num[]=new int[MAX]; //空间换时间 num[0]=0; num[1]=1; for(int i=2;i<MAX;i++){ num[i]=num[i-1]+num[i-2]; } while(in.hasNext()){ int n=in.nextInt(); int Mind=Integer.MAX_VALUE,temp; for(int i=0;i<MAX;i++){ temp=Math.abs(num[i]-n); if(Mind>=temp){ //差距会越来越小,当差距变大时,说明上一个就是最小差距 Mind=temp; }else{ System.out.println(Mind); break; } } } } }
牛客网题解-Fibonacci数列
猜你喜欢
转载自blog.csdn.net/anhuibozhoushatu/article/details/83893164
今日推荐
周排行