NYOJ 655光棍的yy

来源:互联网 发布:手机屏幕条纹修复软件 编辑:程序博客网 时间:2024/04/28 14:47

题目:yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊

现在给你m个1,你可以把2个1组合成一个2,这样就不是光棍了,问这样的组合有多少种??

例如(111  可以拆分为 111 12 21  有三种)m最大为200

思路:实际上就是斐波那契数列。long long(__int64)会溢出,所以用java做

代码:

01.import java.math.BigInteger;
02.import java.util.Scanner;
03. 
04.public class Main {
05. 
06.public static void main(String[] args) {
07.BigInteger[] num = new BigInteger[500];
08.num[1] = BigInteger.valueOf(1);
09.num[2] = BigInteger.valueOf(2);
10.for (int i = 3; i < 500; i++) {
11.num[i] = num[i - 1].add(num[i - 2]);
12.}
13.String str;
14.Scanner cin = new Scanner(System.in);
15.while (cin.hasNextInt()) {
16.int t = cin.nextInt();
17.for (int i = 0; i < t; i++) {
18.str = cin.next();
19.int n = str.length();
20.System.out.println(num[n]);
21.}
22.}
23.}
24.}

0 0