Hanoi双塔问题(hanoi)

给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有空的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些国盘移到C柱上,在移动过程中可放在B柱上暂存。
Hanoi双塔问题(hanoi)_第1张图片

一眼
ans=2(2n1)


import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Main{  

    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
         Scanner cin = new Scanner (new BufferedInputStream(System.in));
         int a;
         a = cin.nextInt();
         BigInteger ans=new BigInteger("1"),b = new BigInteger("2");
         for(int i=1;i<=a;i++) ans=ans.multiply(b);
         ans=ans.subtract(BigInteger.ONE);
         ans=ans.multiply(b);
         System.out.println(ans);

    }
}

最近mac java 出问题,只好用在线的编译器了

你可能感兴趣的:(Hanoi双塔问题(hanoi))