차례로 돌아가는 몇 가지 경전의 예

11936 단어
주의: 구조 방법은 귀속할 수 없습니다. 그렇지 않으면 무한 창설 대상입니다.
차례로 돌아가는 몇 가지 고전적인 예: 1.HannoiTower
  1 import java.util.Scanner;
  2  public class HanoiTower{
  3      //level ; char 
  4     public static void moveDish(int level, char from, char inter, char to){
  5          if(level == 1){
  6              System.out.println(" "+from+" 1 "+to);
  7          }else{
  8 
  9              moveDish(level-1,from,to,inter);// 
 10             System.out.println(" "+from+" "+level+" "+to);
 11              moveDish(level-1,inter,from,to);
 12          }
 13      }
 14 
 15     public static void main(String[] args){
 16          Scanner sc = new Scanner(System.in);
 17          System.out.println(" ");
 18          int n = sc.nextInt();
 19          moveDish(n,'a','b','c');
 20      }
 21  }
 22 

2.sum
  1 import java.util.Scanner;
  2  public class Sum{
  3      public static void main(String[] args){
  4          Scanner sc = new Scanner(System.in);
  5          System.out.println(" n:");
  6          int n = sc.nextInt();
  7          int sum1 = sum(n);
  8         System.out.println(sum1;
  9      }
 10 
 11     public static int sum(int n){
 12          if(n == 1){
 13              return 1;
 14          }else{
 15              return n+sum(n-1);
 16          }
 17      }
 18  }
 19 

3.factorial
  1 import java.util.Scanner;
  2  public class Factorial{
  3      public static void main(String[] args){
  4          Scanner sc = new Scanner(System.in);
  5          System.out.println(" 20 , :");
  6          int n = sc.nextInt();
  7          int fac1 = fac(n);
  8          System.out.println(n+" :"+fac1);
  9          System.out.println("~ ~~");
 10      }
 11 
 12     public static int fac(int n){
 13          if(n == 1){B
 14              return 1;
 15          }else{
 16              return n*fac(n-1);
 17          }
 18      }
 19  }
 20 

4.sumFactorial
  1 import java.util.Scanner;
  2  public class SumFactorial{
  3      public static void main(String[] args){
  4          Scanner sc = new Scanner(System.in);
  5          System.out.println(" 20 :");
  6          int n = sc.nextInt();
  7          int sf = sumFac(n);
  8          System.out.println(sf);
  9      }
 10      // 
 11     public static int sumFac(int n){
 12          if(n == 1){
 13              return 1;
 14          }else{
 15              return fac(n)+sumFac(n-1);
 16          }
 17      }
 18      // 
 19     public static int fac(int n){
 20          if(n == 1){
 21              return 1;
 22          }else{
 23              return n*fac(n-1);
 24          }
 25      }
 26  }

5. 귀속을 사용하여 1에서 100 사이의 모든 숫자를 훑어보기
  1 public class Number{
  2      public static void main(String[] args){
  3          iterator(100);
  4      }
  5 
  6     public static void iterator(int n){
  7          if(n >= 1){
  8              System.out.print(n+"\t");
  9              n--;
 10              iterator(n);
 11          }
 12 
 13     }
 14  }
 15 
 16 
 17 

전재 대상:https://www.cnblogs.com/huguangqin/p/7128738.html

좋은 웹페이지 즐겨찾기