TQC+ 物件導向程式語言 Java 6 402 尾端遞迴階乘計算
第4類:遞迴程式設計

TQC+ 物件導向程式語言 Java 6 402 尾端遞迴階乘計算

來自的免費背景照片 zh.pngtree.com

題目說明:

請開啟檔案 JPD04.java,依下列題意完成作答。將 JPD04.java 內的 class JPD04 修改為 class JPA04,檔案另存成 JPA04.java,並編譯為 JPA04.class。

設計說明:

(1) 尾端遞迴程式設計的特性是以另外傳入的參數來累計遞迴的答案。

(2) 請寫一個程式持續輸入一個數 n,請個別使用尾端遞迴程式設計及迴圈,計算 n 的階乘,直到 n 輸入的數值是 999 為止。

(3) 程式執行時,顯示【Input n (0 <= n <= 16):】要求輸入數值。

(4) 顯示如執行結果參考畫面。

執行結果參考畫面:



JPD04.java 檔案下載

程式碼:

import java.util.Scanner;
public class JPA04 {
    static Scanner keyboard = new Scanner(System.in);
    public static void main(String args[]) {
    	int n;
    	
    	do {
    		System.out.print("Input n (0 <= n <= 16):");
    		n = keyboard.nextInt();
    		
    		if(n >= 0 && n <= 16) {
    			System.out.printf("%d 的階乘(尾端遞迴) = %d\n", n,factorial(n, 1));
    			System.out.printf("%d 的階乘(迴圈) = %d\n", n,factorialLoop(n));
    		}
    	} while(n != 999);
    }
    
    static int factorial(int n, int ans) {
    	if(n == 1)
    		return ans;
    	else
    		return factorial(n - 1, n * ans);
    }
    
    static int factorialLoop(int n) {
    	int ans = 1;
    	
    	for(int i = 2;i <= n;i++)
    		ans *= i;
    	
    	return ans;
    }
}

JPA04.java 檔案下載



TQC+ 物件導向程式語言 Java 6 第四類:遞迴程式設計




如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

2 則留言

發表迴響