- import java.util.Scanner;
- public class JPA04 {
- static Scanner keyboard = new Scanner(System.in);
- public static void main(String args[]) {
- int n = 0;
- System.out.print("Input n (0 <= n <=16):");
- n = keyboard.nextInt();
- while (n != 999) {
- System.out.println(n + "的階乘(尾端遞迴)=" + fac(n));
- System.out.println(n + "的階乘(迴圈)=" + facLoop(n, 1));
- System.out.print("Input n (0 <= n <=16):");
- n = keyboard.nextInt();
- }
- }
- static int fac(int n) {
- if (n == 0) {
- return 1;
- } else {
- return n * fac(n - 1);
- }
- }
- static int facLoop(int n, int m) {
- while (n != 0) {
- m = m * n;
- n--;
- }
- return m;
- }
- }
複製代碼 |