返回列表 發帖

[11/12複習]TQC 306、402

本帖最後由 李泳霖 於 2022-11-12 13:35 編輯

TQC306
題目說明:
請將檔案另存成JPA03.java,並編譯為JPA03.class
設計說明:
1.請設計一程式,持續輸入兩整個數m、n,m與n中間以空格鍵分隔,並以一個類別方法及while loop計算m的n次方,直到輸入m=999為止。
2.顯示如執行結果參考畫面。
  1. import java.util.*;
  2. public class JPA03 {
  3.     public static void main (String argv[]){
  4.         int num1, num2;

  5.         Scanner input = new Scanner(System.in);
  6.         System.out.println("Input:");
  7.         num1 = input.nextInt();
  8.         while (num1 != 999) {
  9.             num2 = input.nextInt();
  10.             System.out.println(powerOf(num1, num2));
  11.             ...
  12.         }
  13.     }

  14.     static int powerOf (int m, int n) {
  15.         ...
  16.     }
  17. }
複製代碼
TQC402
題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請寫一個程式持續輸入一個數n,使用遞迴計算n的階乘,直到n輸入的數值是999為止。
2.程式執行時,顯示[Input n(0<=n<=16):]要求輸入數值。
3.顯示如執行結果參考畫面。

        /*
             facTail(5, 1)
             =facTail(4, 5)
             =facTail(3, 5*4)
             =facTail(2, 5*4*3)
             =facTail(1, 5*4*3*2)
             =facTail(0, 5*4*3*2*1)
             =5*4*3*2*1
         */
  1. import java.util.Scanner;
  2. public class JPA04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         
  6.     ...



  7.     }
  8.    
  9.    
  10.     ...






  11. }
複製代碼
【尾端遞迴的定義】
在電腦科學裡,尾呼叫是指一個函數裡的最後一個動作是一個函式呼叫的情形:即這個呼叫的返回值直接被當前函式返回的情形。這種情形下稱該呼叫位置為尾位置。若這個函式在尾位置呼叫本身(或是一個尾呼叫本身的其他函式等等),則稱這種情況為尾端遞迴,是遞迴的一種特殊情形。
尾呼叫的重要性在於它可以不在呼叫棧上面添加一個新的堆疊框—而是更新它,如同疊代一般。尾端遞迴因而具有兩個特徵:
1.呼叫自身函式(Self-called)
2.計算僅占用常量棧空間(Stack Space)
因此,形式上只要是最後一個return語句返回的是一個完整函式,它就是尾端遞迴。
istak.teach2@gmail.com

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表