zoukankan      html  css  js  c++  java
  • 课程作业02实验报告

    1.程序设计思路

    定义两个函数,一个是移动的函数,一个是递归的函数,调用递归,直到就剩下一个函数。

    2.流程设计图

     

     

    3.源代码

    package 作业02;
    import java.util.Scanner;
    public class Text {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("请输入有几个盘子:");
    Scanner input=new Scanner(System.in);
    int n=input.nextInt();
    Text A=new Text();
    A.hanoi(n, 'A', 'B', 'C');

    }
    void move(char x,char y)
    {
    System.out.println(x+"->"+y);
    }
    void hanoi(int n,char A,char B,char C)
    {
    if(n==1)
    {
    move(A,C);
    }
    else
    {
    hanoi(n-1,A,C,B);
    move(A,C);
    hanoi(n-1,B,A,C);
    }
    }
    }

    4.实验截图

    5.实验总结

    我觉得这个程序重要的在于理解,理解先挪n-1个到B,然后再挪最后一个到CB,然后再依据A,把n-1个挪到c,依次递推,知道剩下一个盘子。

  • 相关阅读:
    [leetCode]剑指 Offer 43. 1~n整数中1出现的次数
    [leetCode]剑指 Offer 42. 连续子数组的最大和
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    POJ
    POJ
  • 原文地址:https://www.cnblogs.com/sunshine-z/p/7663427.html
Copyright © 2011-2022 走看看