码迷,mamicode.com
首页 > 其他好文 > 详细

百度之星资格赛 2016 Problem 1002

时间:2016-05-15 10:46:47      阅读:118      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!