UVa 10254 - The Priest Mathematician

传送门

UVa 10254 - The Priest Mathematician

题意

汉内塔问题,四个棒子

思路

参考了别人的题解,原来要先把小部分的答案打印出来再找规律( TДT)

代码

import java.math.*;
import java.io.*;
import java.util.*;
 
public class Main {
     
    static public void main(String[] args) {
        Scanner in = new Scanner(System.in);
        BigInteger[] dp = new BigInteger[10010];
        dp[0] = BigInteger.ZERO;
        int k = 1; int cnt = 0; BigInteger add = BigInteger.ONE;
        for (int i = 1; i <= 10000; i++) {
            dp[i] = dp[i - 1].add(add);
            cnt++;
            if (cnt == k) {
                cnt = 0;
                k++;
                add = add.multiply(BigInteger.valueOf(2));
            }
        }
        while (in.hasNext()) {
            int n = in.nextInt();
            System.out.println(dp[n]);
        }
    }
}

Powered by Jekyll and Theme by solid