首页 > 其他 > 详细

百度之星资格赛 2016 Problem 1002

时间:2016-05-15 10:45:34      阅读:198      评论:0      收藏:0      [点我收藏+]

题意:

  度熊面前有一个全是由1构成的字符串,被称为全1序列。你可以合并任意相邻的两个1,从而形成一个新的序列。对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列。

思路: 

  自己手动写几个后就会发现是大斐波那契.

代码:

 1 import java.util.Scanner;
 2 import java.math.BigInteger;
 3 
 4 public class Main{
 5     public static void main(String[] args){
 6         Scanner sc = new Scanner(System.in);
 7         while(sc.hasNextInt()){
 8             int n = sc.nextInt();
 9             BigInteger a1 = new BigInteger("1");
10             BigInteger a2 = new BigInteger("2");
11             BigInteger ans = new BigInteger("0");
12             for(int i = 3; i <= n; i++){
13                 ans = a1.add(a2);
14                 a1 = a2;
15                 a2 = ans;
16             }
17             if(n == 1)System.out.println("1");
18             else if(n == 2)System.out.println("2");
19             else    System.out.println(ans.toString());
20         }
21         sc.close();
22     }
23 }

 

百度之星资格赛 2016 Problem 1002

原文:http://www.cnblogs.com/Ash-ly/p/5494623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!