71.汉诺塔问题
import
java.util.Scanner;
public class HannoTower {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“几个盘子:”);
int n=sc.nextInt();
hanno(n,“A”,“B”,“C”);
}
public static void hanno(int n,String a,String b,String c) {
if(n==1) {
move(n,a,c);
}else {
hanno(n-1,a,c,b);
move(n,a,c);
hanno(n-1,b,a,c);
}
}
public static void move(int n,String i,String j) {
System.out.println(“第”+n+“个圆盘,”+“从”+i+“移动到”+j);
}
}
71.倒叙输出一个正整数 n=12345, 输出54321
import
java.util.Scanner;
public class FB {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“n:”);
int n=sc.nextInt();
f(n);
}
public static void f(int n) {
System.out.print(n%10+" ");
if(n>10) {
f(n/10);
}
}
}
73.求x的n次方:
import
java.util.Scanner;
public class FB {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“数字n:”);
int n=sc.nextInt();
System.out.println(“次方m”);
int m=sc.nextInt();
System.out.println(f(n,m));
}
public static int f(int n,int m) {
if(m==0) {
return 1;
}else {
return n*f(n,m-1);
}
}
}
- 排列问题:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出abc、acb、bac、bca、cab和cba。
递归思想:假如针对abc的排列,可以分成:以a开头,加上bc的排列,以b开头,加上ac的排列,以c开头,加上ab的排列
import
java.util.Scanner;
public class PaiLie {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in) ;
System.out.println(“请输入一个字符串:”);
String s=sc.nextLine();
char[] chs=s.toCharArray();
per(chs,0);
}
public static void per(char[] chs,int i) {
if(i>chs.length)
return ;
if(i==chs.length-1) {
System.out.println(String.copyValueOf(chs));
}else {
for(int j=i;j<chs.length;j++) {
char temp = chs[j];
chs[j] = chs[i];
chs[i] = temp;
per(chs, i + 1);
temp = chs[j];
chs[j] = chs[i];
chs[i] = temp;
}
}
}
}
75.递归求从 m 个球中摸n个球的排列数
import java.util.Scanner;
public class PaiLie {
public static int f(int n,int m){
if(n<m)//从2个球中取出3个球
return 0;
if(n==m)//从2个球中取出2个球
return 1;
if(m==0)//从5个球中取出0个球
return 1;
return f(n-1,m-1)+f(n-1,m);
}
public static void main(String[] args) {
int k=f(10,3);
System.out.print(k);
}
}