
TQC+ 物件導向程式語言 Java 6 403 尾端遞迴次方計算
題目說明:
請開啟檔案 JPD04.java,依下列題意完成作答。將 JPD04.java 內的 class JPD04 修改為 class JPA04,檔案另存成 JPA04.java,並編譯為 JPA04.class。
設計說明:
(1) 請寫一個程式持續輸入兩個數 m、n,使用尾端遞迴及迴圈計算 m 的 n 次方,直到 m 輸入的數值是 999 為止。
(2) 程式執行時,顯示【Input m:】要求輸入m;輸入完畢。於下行顯示【Input n:】要求輸入 n。
(3) 顯示如執行結果參考畫面。
執行結果參考畫面:

程式碼:
import java.util.Scanner;
public class JPA04 {
static Scanner keyboard = new Scanner(System.in);
public static void main(String args[]) {
System.out.print("Input m:");
int m = keyboard.nextInt(), n;
while(m != 999) {
System.out.print("Input n:");
n = keyboard.nextInt();
System.out.printf("Ans (尾端遞迴):%d\n", power(m, n, 1));
System.out.printf("Ans (迴圈):%d\n", powerLoop(m, n));
System.out.print("Input m:");
m = keyboard.nextInt();
}
}
static int power(int m, int n, int ans) {
if(n == 0)
return ans;
else
return power(m, n - 1, ans * m);
}
static int powerLoop(int m, int n) {
int ans = 1;
for(int i = 1;i <= n;i++)
ans *= m;
return ans;
}
}
TQC+ 物件導向程式語言 Java 6 第四類:遞迴程式設計
如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝
可以多點幾次喔~~
第一次點讚需使用 Google 或 Facebook 帳號註冊


3 則留言
自動引用通知:
SAEBA RYO
Test
JamesBang
Roger that