18、遞迴
阿新 • • 發佈:2021-06-26
遞迴
public class MethodDemo09 { //2! 2*1 //3! 3*2*1 //5! 5*4*3*2*1 public static void main(String[] args) { MethodDemo09 demo09 = new MethodDemo09(); int result = demo09.recursion(5); System.out.println(result); } public int recursion(int n) { if ( n == 1 ) { return 1; } else { return n * recursion(n-1); } } }
用for迴圈求階乘
public class MethodDemo10 { public static void main(String[] args) { MethodDemo10 demo10 = new MethodDemo10(); demo10.recursion(); } //用for迴圈求階乘 public void recursion() { Scanner sc = new Scanner(System.in); System.out.println("請輸入一個整數:"); int num = sc.nextInt(); if ( num == 1 ) { System.out.println(num + "的階乘為:1"); return; } int result = 1; for ( int i = 2; i <= num; i++ ) { result = result * i; } System.out.println(num + "的階乘為:" + result); } }
當輸入的數為 1 時:
當輸入的數為 2 時: