题意:
度熊面前有一个全是由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 }
时间: 2024-10-19 07:25:05