欢迎来到刘瑞欣的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

课程作业02-1-课后作业1-(3、4)汉诺塔、回文数

3.1程序设计思想:调用递归函数,终止条件为参数N=1;移动盘子时,利用两个函数,将盘子移动,利用中间的b柱子作为跳板,递归函数求出具体步骤,引用另一个函数具体输出盘子移动的步骤.

3.2源程序代码:

 1 //信1605-3  20163429  刘瑞欣
 2 import java.util.Scanner;
 3 public class Digui 
 4 {
 5     static private int number = 0;
 6     public static void main(String[] args) 
 7     {
 8          Scanner in = new Scanner(System.in );
 9          char A = 'A';
10          char B = 'B';
11          char C = 'C';
12          System.out.println("输入盘子数");
13          int num = in.nextInt();  
14          solveHanoiTower(num,A,B,C);
15          in.close();
16     }
17     private static void move(int num,char start,char end)
18     {
19          number++;
20          System.out.println("第"+number+"步操作是将盘子从:"+start+"-->"+end);
21     }
22     private static void solveHanoiTower(int num,char A,char B,char C) 
23     {
24         if(num==1)
25         {
26             move(1,A,C);
27         }
28         else
29         {
30             solveHanoiTower(num-1,A,C,B);
31             move(num,A,C);                 
32             solveHanoiTower(num-1,B,A,C);
33         }
34      }
35  }

3.3结果截图:

 

 

4.1设计思想:定义字符串储存想要的验证的字符串,定义一个数组储存,将两个数组首尾进行比较,结束条件为比较到数组的中值处

 

4.2源程序代码:

//信1605-3  20163429  刘瑞欣
import java.util.Scanner;
public class huiwen
{
    public static void main(String[] args) 
    {
        Scanner put =new Scanner(System.in);
        System.out.println("输入字符串:");
        String a = put.nextLine();//定义字符串
        char[] ch = new char[a.length()];
        for(int i = 0;i<a.length();i++)
        {
            ch[i] = a.charAt(i);
        }//将字符穿赋值给数组
        if(zifu(ch,ch.length)==0)//引用函数体
        {
            System.out.println("该字符串不是回文!");
        }
        else
        {
            System.out.println("该字符串是回文!");
        }//
        put.close(); 
     }
    private static int zifu(char[] c,int i) 
    {
        int size = c.length;
        if(i == size/2)
        {
            return 1;
        }
        if(c[size - i] == c[i-1])
        {
           return zifu(c,i-1);
        }
        else
            return 0;
     } //递归函数判断字符串是否为回文数
}

4.3结果截图:

 

posted on 2017-10-14 05:49  吃藕八怪。  阅读(218)  评论(0编辑  收藏  举报