题解 | Fibonacci数列
Fibonacci数列
https://www.nowcoder.com/practice/18ecd0ecf5ef4fe9ba3f17f8d00d2d66
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a=0,b=1,c=a+b; while(n>c){ a=b; b=c; c=a+b; } System.out.println(Math.min(n-b,c-n)); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { int []F=new int [100]; F[0]=0;F[1]=1; for(int i=2;i<100;i++){ F[i]=F[i-1]+F[i-2]; } Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int n=in.nextInt(); Boolean flg=true; int left_ans=n,right_ans=n; int count=0; while(flg==true){ for(int i=0;i<100;i++){ if(left_ans==F[i]||right_ans==F[i]){ flg=false; break; } } left_ans--; right_ans++; count++; } System.out.println(count-1); } }