UVa 1647 - Computer Transformation(找规律+递推)

暴力枚举前几项后发现规律 a[i]=a[i1]+2a[i2] 。然后打表就好。

import java.math.*;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        BigInteger[] a = new BigInteger[1010];
        a[1].valueOf(0);
        a[2].valueOf(1);
        for (int i = 3; i<1010;++i){
            a[i] = a[i].add(a[i-1]);
            a[i] = a[i].add(a[i-2]);
            a[i] = a[i].add(a[i-2]);
        }
        while(cin.hasNext()) {
            int n = cin.nextInt();
            System.out.println(a[n]);
        }
    }
}

你可能感兴趣的:(java,uva,规律)