惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园_首页
雷峰网
雷峰网
V
V2EX
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
小众软件
小众软件
博客园 - 叶小钗
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
MyScale Blog
MyScale Blog
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - blues667

Alibaba Cloud 4 (CentOS 8) 安装记录(2026.8) 职业教育教师的成长与发展(下)--赵开华-北京吉利学院副校长(教育部师德师风讲座) 职业教育教师的成长与发展(上)--赵开华-北京吉利学院副校长(教育部师德师风讲座) 腾讯元宝推荐的 YouTube 视频下载方法(2026.3) Linux 上安装 cheat 命令的过程 康荣生老师(大连海事大学、华东理工大学)介绍 程序题:洛谷, P5723 【深基4.例13】质数口袋 apache 2.4 设置每个Linux用户, 可以通过www访问自己的个人网站主目录, 形式为 202.118.88.66/~username 这样的形式, httpd.conf 应该进行哪些修改? 一轴徐徐展开的声纹画卷 导创: 陈建社 《学堂在线》清华郑莉老师的《Java程序设计 2025春》习题和程序设计题记录 回忆我的高中语文老师,陈光浩老师 TextPad 编译Java时,出错信息中的中文出现乱码,一种解决方法 古稀不稀,七十感怀 陈建社 2025.1.17 回忆康荣生老师 阿里云服务器所受攻击的记录(2024) vsftpd 的图形界面配置工具有哪些 当前,Linux中的内存页面调度算法 云雀妈妈和蛇大哥 【童话故事】 CentOS 9 安装 google Chrome Web 浏览器的一种简单方法(2024.9) Linux命令点滴(2024.7~) Java 学习知识点汇集(2024.6) 锁定某个Linux用户的账号
【程序算法题】洛谷, P1760 通天之汉诺塔, java实现。
blues667 · 2025-11-03 · via 博客园 - blues667

题目背景   直达通天路·小A历险记第四篇

题目描述

在你的帮助下,小 A 成功收集到了宝贵的数据,他终于来到了传说中连接通天路的通天山。但是这距离通天路仍然有一段距离,但是小 A 突然发现他没有地图!!!但是幸运的是,他在山脚下发现了一个宝箱。根据经验判断(小 A 有经验吗?),地图应该就在其中!

在宝箱上,有三根柱子以及在一根柱子上的 n 个圆盘。小 A 在经过很长时间判断后,觉得这就是 hanoi 塔!(这都要琢磨)。但是移动是需要时间的,所以小 A 必须要通过制造延寿药水来完成这项任务。现在,他请你告诉他需要多少步完成,以便他造足够的延寿药水。

输入格式  一个数 n,表示有 n 个圆盘。

输出格式  一个数 s,表示需要 s 步。

输入输出样例

说明/提示

数据范围及约定  对于所有数据,n15000。

 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 }