Board logo

標題: TQC+ 402 尾端遞迴階層計算 [打印本頁]

作者: 葉桔良    時間: 2022-4-9 13:25     標題: TQC+ 402 尾端遞迴階層計算

本帖最後由 李泳霖 於 2023-2-13 19:22 編輯

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


【尾端遞迴的定義】
在電腦科學里,尾呼叫是指一個函數裡的最後一個動作是一個函式呼叫的情形:即這個呼叫的返回值直接被當前函式返回的情形。這種情形下稱該呼叫位置為尾位置。若這個函式在尾位置呼叫本身(或是一個尾呼叫本身的其他函式等等),則稱這種情況為尾端遞迴,是遞迴的一種特殊情形。
尾呼叫的重要性在於它可以不在呼叫棧上面添加一個新的堆疊框—而是更新它,如同疊代一般。尾端遞迴因而具有兩個特徵:
1.呼叫自身函式(Self-called)
2.計算僅占用常量棧空間(Stack Space)
因此,形式上只要是最後一個return語句返回的是一個完整函式,它就是尾端遞迴。
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         
  6.     ...



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






  11. }
複製代碼
/*   
    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
*/[code]
作者: 葉桔良    時間: 2022-4-9 13:26

此帖僅作者可見
作者: 朱春珠    時間: 2022-4-9 15:13

此帖僅作者可見
作者: 朱春男    時間: 2022-4-9 15:31

此帖僅作者可見
作者: 朱嚴寘    時間: 2022-10-26 20:52

此帖僅作者可見
作者: 吳孟軒    時間: 2022-12-5 20:02

此帖僅作者可見
作者: 馬琮翰    時間: 2022-12-14 17:38

此帖僅作者可見
作者: 若晴    時間: 2022-12-30 18:20

此帖僅作者可見
作者: 李睿宸    時間: 2023-5-17 18:44

此帖僅作者可見
作者: 陳品諺    時間: 2023-8-2 16:37

此帖僅作者可見
作者: 俞經典    時間: 2023-8-13 20:57

此帖僅作者可見
作者: 俞經典    時間: 2023-8-16 21:15

此帖僅作者可見
作者: 俞經典    時間: 2023-10-25 22:01

此帖僅作者可見
作者: 俞經典    時間: 2023-10-28 21:27

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2