zoukankan      html  css  js  c++  java
  • HDU 5686 斐波那契数列、Java求大数

    原题:http://acm.hdu.edu.cn/showproblem.php?pid=5686

      当我们要求f[n]时,可以考虑为前n-1个1的情况有加了一个1。

      此时有两种情况:当不适用第n个1进行合并时,就有f[n-1]个序列;当使用这个1进行合并时,就有f[n-2]个序列。所以f[n] = f[n-1]+f[n-2]。

      因为这道题数会很大,所以可以用Java做大数运算。

      

     1 import java.math.BigInteger;
     2 import java.util.Scanner;
     3 
     4 public class Main {
     5 
     6     public static void main(String[] args) {
     7  
     8         Scanner sc=new Scanner(System.in);
     9         BigInteger f []=new BigInteger[205];
    10         f[1]=new BigInteger("1");
    11         f[2]=new BigInteger("2");
    12         for(int i=3;i<=200;i++){
    13             f[i]=f[i-2].add(f[i-1]);
    14         }
    15         while(sc.hasNext()){
    16             int n=sc.nextInt();
    17             System.out.println(f[n]);
    18         }
    19     }
    20 }
  • 相关阅读:
    670. Maximum Swap
    126. Word Ladder II
    695. Max Area of Island
    689. Maximum Sum of 3 Non-Overlapping Subarrays
    667. Beautiful Arrangement II
    前端开发-css
    前端开发-html
    mysql补充
    pythonl操作数据库
    mysql索引原理
  • 原文地址:https://www.cnblogs.com/zqy123/p/5513290.html
Copyright © 2011-2022 走看看