f[n]=3*f[n-1]-f[n-2]+2
給定n(N<=100),編程計算有多少個不同的n輪狀病毒。
第一行有1個正整數n。
將編程計算出的不同的n輪狀病毒數輸出
/************************************************************** Problem: 1002 User: CKboss Language: Java Result: Accepted Time:888 ms Memory:14824 kb ****************************************************************/ import java.util.*; import java.math.*; public class Main { BigInteger[] ct = new BigInteger[120]; void init(){ ct[1]=BigInteger.valueOf(1); ct[2]=BigInteger.valueOf(5); ct[3]=BigInteger.valueOf(16); for(int i=4;i<=100;i++){ ct[i]=ct[i-1].multiply(BigInteger.valueOf(3)).subtract(ct[i-2]).add(BigInteger.valueOf(2)); } } Main(){ Scanner in = new Scanner(System.in); init(); int n=in.nextInt(); System.out.println(ct[n]); } public static void main(String[] args) { // TODO Auto-generated method stub new Main(); } }