题目描述
Fibonacci 数列是非常著名的数列:
F[1]=1,
F[2]=1,
对于
i>3,F[i]=F[i−1]+F[i−2]。
Fibonacci 数列有一个特殊的性质,前一项与后一项的比值,
F[N]/F[N+1], 会趋近于黄金分割。
为了验证这一性质,给定正整数 N,请你计算
F[N]/F[N+1],并保留 8 位小数。
输入描述
输入一个正整数
N (1≤N≤2×10的9次方)。
输出描述
输出
F[N]/F[N+1]。答案保留 8 位小数。
输入输出样例
示例
输入
2
输出
0.50000000
运行限制
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double n=scan.nextDouble();
double f1=1,f2=1,temp=0,ans1=0,ans2=0;
if(n==1){
System.out.println("1.00000000");
}
else if(n==2){
System.out.println("0.50000000");
}
else if(n>=20){
System.out.println("0.61803399");
}
else{
for(double i=3;i<=n+1;i++){
temp=f2;
f2=f1+f2;
f1=temp;
}
double d=f1/f2;
System.out.printf("%.8f",d);
}
}
}
-
- 最大运行时间:1s
- 最大运行内存: 256M
文章讲述了如何通过Java代码计算Fibonacci数列中指定项的比值,验证黄金分割定律,输出结果精确到8位小数。
354

被折叠的 条评论
为什么被折叠?



