题目背景
直达通天路·小A历险记第四篇
题目描述
在你的帮助下,小 A 成功收集到了宝贵的数据,他终于来到了传说中连接通天路的通天山。但是这距离通天路仍然有一段距离,但是小 A 突然发现他没有地图!!!但是幸运的是,他在山脚下发现了一个宝箱。根据经验判断(小 A 有经验吗?),地图应该就在其中!
在宝箱上,有三根柱子以及在一根柱子上的 n 个圆盘。小 A 在经过很长时间判断后,觉得这就是 hanoi 塔!(这都要琢磨)。但是移动是需要时间的,所以小 A 必须要通过制造延寿药水来完成这项任务。现在,他请你告诉他需要多少步完成,以便他造足够的延寿药水。
输入格式 一个数 n,表示有 n 个圆盘。
输出格式 一个数 s,表示需要 s 步。
输入输出样例
输入 #131
输出 #12147483647
输入 #215
输出 #232767
说明/提示
数据范围及约定 对于所有数据,n≤15000。
1 //洛谷, P1760 通天之汉诺塔 2 //完全自己独立实现,未参考任何其他实现。 3 import java.math.BigInteger; 4 import java.io.*; 5 import java.util.*; 6 public class Main { 7 public static void main(String args[]) { 8 int countPlates=0; 9 BigInteger countMove=new BigInteger("1"); 10 BigInteger two=new BigInteger("2"); 11 BigInteger minusOne=new BigInteger("-1"); 13 14 Scanner in = new Scanner(System.in); 15 countPlates=in.nextInt(); 16 for (int i =1; i<= countPlates; i++) 17 countMove = countMove.multiply(two); 18 countMove=countMove.add(minusOne); 19 20 System.out.println(countMove); 21 } 22 }