河内塔C语言问题,解决了。

发布于 科技 2024-02-05
7个回答
  1. 匿名用户2024-01-25

    #include

    void move(int n,char x,char y);

    void hanoi(int n,char one,char two,char three);

    int main()

    int n;

    scanf("%d",&n);

    hanoi(n,'a','b','c');

    void hanoi(int n,char one,char two,char three)

    if(n==1)

    move(1,one,three);

    elsehanoi(n-1,one,three,two);

    move(n,one,three);

    hanoi(n-1,two,one,three);

    void move(int n,char x,char y)

    printf("move disk %d from %c to %c",n,x,y);

    就这样,其他输入的数量不能太大,最好在10个以内,如果超过64个,就收到了什么,一时半会儿不玩了。

  2. 匿名用户2024-01-24

    #include

    #include

    void move(char from,int n,char to);

    void hanno(int n,char a,char b,char c);

    int main(void)

    hanno(10,'a','b','c');

    printf("");

    system("pause");

    return 0;

    void hanno(int n,char a,char b,char c)

    if(n>0)

    hanno(n-1,a,c,b);

    move(a,n,c);

    hanno(n-1,b,a,c);

    void move(char from,int n,char to)

    printf("编号为 %d 的板从 %c 塔移动到 %c 塔",n,from,to);

  3. 匿名用户2024-01-23

    void hanoi (int n; char x, char y,char z)

    塔基x上直径从小到大、从上到下的N个直径从1到N的N个圆盘按规则移动到塔基z处,Y可作为辅助塔座。 */1 }

  4. 匿名用户2024-01-22

    事实上,与单层一样,一个

    开始:A,你需要移动2n,然后移动2n-1到c,然后移动1到b,然后最大的两个已经到位。

    开始:C,需要移动2n-2,然后将2n-4移动到A,然后移动到B,然后接下来最大的两个就位。

    开始:A,你需要移动2n-4,然后移动2n-5到A,然后移动1到B,然后第三大两个就位。

    .以此类推,请参考了解河内单层塔的实现。

  5. 匿名用户2024-01-21

    我不明白,我知道你在上大学,但你不想欺负我们这些没受过教育的人,你应该问问你的老师。

  6. 匿名用户2024-01-20

    #include

    int main()

    void hanoi(int n,char one,char two,char three) 定义 Hanoi 函数。

    借助 seat two}void move(char x,char y) 将 n 个磁盘从块 1 移动到块 3 来定义移动函数。

  7. 匿名用户2024-01-19

    如何解决河内塔问题可以用递归方法解决。 设要移动的板数为n,为了将n个板从A柱移动到C极,可以将盘1移动到n-1,以盘C为中介,从A极移动到B极。 将 A 栏中剩余的第 N 个圆盘移动到 C 栏。

    以A型杆为中介; 将光盘 1 移动到 N-1 从小节 B 移动到小节 C。 这样,河内塔问题就解决了。

相关回答
8个回答2024-02-05

将 struct、student 和 internal 元素定义为 age、num 数组。 >>>More