zoukankan      html  css  js  c++  java
  • 斐波那契数列 面试算法(三)

    import java.math.BigDecimal;
    import java.util.Scanner;
    import java.util.function.BinaryOperator;
    
    public class Fbnq {
        /**
         * 假设n为正整数,斐波那契数列定义为:
         * f(n) = 1, n < 3;
         * f(n) = f(n-1) + f(n-2), n>=3
         *
         * 现在请你来计算f(n)的值,但是不需要给出精确值,只要结果的后六位即可。
         *
         * 输入:一行,包含一个正整数n,且0<n<1000
         * 输出:一行,f(n)的后6位(十进制,不足6位不补零)
         * @param args
         */
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            int i = s.nextInt();
            BigDecimal f2 = fb(i);
            String v = String.valueOf(f2);
            if (v.length() > 6) {
                String substring = v.substring(v.length() - 6);
                System.out.println(substring);
            }else {
                System.out.println(v);
            }
        }
        static BigDecimal fb(int num){
            BigDecimal m = new BigDecimal(1);
            BigDecimal n = new BigDecimal(1);
            if (num == 1 || num == 2){
                return m;
            }
            BigDecimal t = new BigDecimal(0);
            for (int i = 0; i <= num-3; i++) {
                t = m.add(n);
                m = n;
                n = t;
            }
            return t;
        }
    
        /*public static int fb1(int num) {
            if (num==1||num==2) {
                return 1;
            }else {
                return fb1(num - 1) + fb1(num - 2);
            }
        }*/
    }
    

      

  • 相关阅读:
    蜕变过程中的思考
    Django template for 循环用法
    Django 发送html邮件
    Django F对象的使用
    在Django中使用Q()对象
    ubuntu中管理用户和用户组
    Django settings.py 的media路径设置
    Git版本控制 备忘录
    Git .gitignore文件的使用
    将git关联到pycharm
  • 原文地址:https://www.cnblogs.com/412013cl/p/11768247.html
Copyright © 2011-2022 走看看