蓝桥杯官网练习题(Fibonacci 数列与黄金分割)

文章讲述了如何通过Java代码计算Fibonacci数列中指定项的比值,验证黄金分割定律,输出结果精确到8位小数。

题目描述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值