NYOJ 45 - 棋盘覆盖

来源:互联网 发布:傻瓜音效制作软件 编辑:程序博客网 时间:2024/06/02 15:29

传送门NYOJ 45 - 棋盘覆盖


小白上的分治法的例题。


其实这个问题主要是理解分治法就可以了,然后就是高精度的事情。。

推出来的公式是F(n) = 4 * F(n-1) + 1。递归边界是F(1) = 1。


我用Java做了,另外hcbbt提供了一种名为万进制的高精度计算方式。。


import java.math.*;import java.io.*;import java.text.*;import java.util.*;public class Main {public static BigDecimal f(int n) {if (n == 1) {return BigDecimal.valueOf(1);}return f(n - 1).multiply(BigDecimal.valueOf(4)).add(BigDecimal.valueOf(1));}public static void main(String[] args) {Scanner cin = new Scanner(new BufferedInputStream(System.in));int T, k;T = cin.nextInt();while (T-- > 0) {k = cin.nextInt();BigDecimal a = f(k);System.out.println(a);}}}


0 0
原创粉丝点击