首页 > 其他分享 >通天之汉诺塔

通天之汉诺塔

时间:2023-05-25 14:33:59浏览次数:32  
标签:通天 int long ++ 高精 汉诺塔

通天之汉诺塔

汉诺塔移动的次数是2^n-1,但是呢由于本题的n很大,所以要用到高精,考察高精度,来愉快的打一下吧(呜呜我一直觉得高精没啥用所以妹学

#include<bits/stdc++.h>
using namespace std;
long long n,a[10000010],l=1;
void p()//高精度函数加法
{
    for(int i=1;i<=l;i++) a[i]*=2;
    for(int i=1;i<=l;i++)
        if(a[i]>9)
        {
            a[i+1]++;
            a[i]-=10;
        }
    if(a[l+1]>0) l++;
}
int main()
{
    cin>>n;
    a[1]=1;
    for(int i=0;i<n;i++) p();
    for(int i=l;i>1;i--) cout<<a[i];//倒序输出
    cout<<a[1]-1;//末尾减一
    return 0;
}

 

标签:通天,int,long,++,高精,汉诺塔
From: https://www.cnblogs.com/o-Sakurajimamai-o/p/17431102.html

相关文章

  • 汉诺塔(三)
    汉诺塔(三)3000 ms | 内存限制:655353在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧......
  • 汉诺塔问题
    移动步骤三根柱子A,B,C。A杆上有N个N>1N>1穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:*每次只能移动一个圆盘;大盘不能叠在小盘上面。解法一:使用递归分析:当只有一个时,只需把第一个盘从a移到c两个时,先把第一个盘从a移到b,再把第二个盘从a移到c,最......
  • 汉诺塔问题(递归)
    #include<iostream>usingnamespacestd;voidmove(intn,chara,charb,charc){ if(n==0) return; move(n-1,a,c,b); cout<<a<<"-->"<<c<<endl; move(n-1,b,a,c);}intmain(){ intn; chara='......
  • 汉诺塔VII 1997 (技巧+递推)
    汉诺塔VIITimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):1261    AcceptedSubmission(s):838ProblemDescriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。......
  • 汉诺塔DP
    题目描述如果将课本上的汉诺塔问题稍做修改:给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次?输入格式输入数据仅有一行,包括两个数N和M(0<=M<=N<=8)输出格式仅输出一个数,表示需要移动的最少次数 #in......
  • 汉诺塔递归
    法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的n片金片。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只......
  • 递归汉诺塔
    题目描述法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的n片金片。不论白天黑夜,总有一个僧侣在按照下面的法则移动这......
  • 汉诺塔与二进制、满二叉树的千丝万缕
    汉诺塔(TowerofHanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。汉诺塔递归算法3......
  • 前端科普系列(4):Babel —— 把 ES6 送上天的通天塔
    作者:Morrain 一、前言在上一节《CommonJS:不是前端却革命了前端》中,我们聊到了ES6Module,它是ES6中对模块的规范,ES6是ECMAScript6.0的简称,泛指JavaScript语言的下一代标准,它的第一个版本ES2015已经在2015年6月正式发布,本文中提到的ES6包括ES2015、ES2016、ES201......
  • 征服汉诺塔问题
    1.递归汉诺塔问题很多人都听说过汉诺塔问题,这是来源于印度的古代游戏。一个板子上有三根柱子以及一些大小和颜色各不相同的圆盘。我们分别把这三根柱子叫做起始柱A、辅助......