廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2935 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
凱西男孩
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x24
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++] 遞迴程式的運用........
A(0,n)=n+1 n必須>=0 for n>=0
A(m,0)=A(m-1,1) m必須>0 for m>0
A(m,n)=A(m-1,A(m,n-1)) m須>0且n須>0 for m>0 and n>0
主要是使用者輸入m,n的值來解這個題目
是設計一個遞迴程式來解
這個題目概念~請大大們能教我ㄇ~
下面 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2005-04-13 18:14 |
limhi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x2
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

嘖嘖嘖~這不是傳說中的Ackman code嗎?
樓主的程式碼加[code][/code]包起來可能會比較好吧~?
您的程式碼都寫出來了~不知道該怎麼解說呢~ 表情

這樣好了,以A(1,1)為例~
當您呼叫A(1,1) 符合第三項~
  傳回A(0,A(1,0))   -->再次呼叫
A(1,0) 符合第二項~
  傳回A(0,1)       -->再次呼叫
A(0,1) 符合第一項
  傳回 2         --> 本次遞迴終止,但前面有沒終止的遞回在stack中,程式會一一取出呼叫到終止~
A(0,2) 符合第一項
  傳回 3         --> 全部的遞迴都終止了 程式也結束~

不知道您要問的是這個嗎? 表情
如果不是的話 可以說清楚一點嗎?
小弟最近在考試,ackman的題目剛好有寫到,幫您解答我也可以順便複習呢~ 表情


獻花 x0 回到頂端 [1 樓] From:APNIC | Posted:2005-04-14 10:12 |
凱西男孩
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x24
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是我今天跟同學討論的結果,可是還是覺的有點怪怪的,舉例來說,輸入的值,有時候輸出值的時候沒有值跑出來有哪位大大可以幫解答的?老師是說用三個副程式寫,可是三個不會寫= =
code
#include <iostream>
using namespace std;
int a1(int m,int n)
{
if(m==0 && n>=0)
  return n+1;
else
{
      if(n==0 && m>0)
  return a1(m-1,1);
else
  return a1(m-1,a1(m,n-1));
}

}

void main()
{
int m,n;
cout << "請輸入m值:";
cin >> m;
cout << "請輸入n值:";
cin >> n;
cout << "運算出的值為:" << endl;
cout << a1(m,n) << endl;
}
/code


獻花 x0 回到頂端 [2 樓] From:台灣教育部 | Posted:2005-04-14 15:34 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用凱西男孩於2005-04-14 15:34發表的 :
下面是我今天跟同學討論的結果,可是還是覺的有點怪怪的,舉例來說,輸入的值,有時候輸出值的時候沒有值跑出來有哪位大大可以幫解答的?老師是說用三個副程式寫,可是三個不會寫= =
code
#include <iostream>
using namespace std;
int a1(int m,int n)
.......

照你的題目....
其實你並沒有寫錯....
會有答案....
只是數字太大要跑很久....
因為題目的遞迴太深....


沒東西可以抓
獻花 x0 回到頂端 [3 樓] From:美國 | Posted:2005-04-14 15:59 |
凱西男孩
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x24
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我跑的時候是有的數字沒有跑出來,只出現按結束的那行英文字,我同學是說那樣子會有錯,並不能把輸入的值全部算出來,所以他要用三個副程式來寫,可是我是覺的邏輯上面來說應該是這樣就可以了,有哪位好心的大大在幫個忙求完美的程式= =謝謝 表情


獻花 x0 回到頂端 [4 樓] From:台灣中華電信 | Posted:2005-04-14 17:49 |
kk889180
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x61
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

你把卡住的幾個數字說來聽聽吧==
有可能是數字過大把你的 int 搞暴了,看要不要換成 long 比較安全 表情


[ 此文章被kk889180在2005-04-15 22:13重新編輯 ]


獻花 x0 回到頂端 [5 樓] From:台灣亞太線上 | Posted:2005-04-15 22:06 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用凱西男孩於2005-04-14 17:49發表的 :
我跑的時候是有的數字沒有跑出來,只出現按結束的那行英文字,我同學是說那樣子會有錯,並不能把輸入的值全部算出來,所以他要用三個副程式來寫,可是我是覺的邏輯上面來說應該是這樣就可以了,有哪位好心的大大在幫個忙求完美的程式= =謝謝 表情

我猜可能是STACK記憶體不足的原因....
同樣的題目就把他改成用迴圈寫吧....
一樣可以的....


沒東西可以抓
獻花 x0 回到頂端 [6 樓] From:美國 | Posted:2005-04-15 22:42 |
凱西男孩
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x24
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

迴圈??你是說for嗎?我有跟我同學說過用迴圈,可是他說迴圈寫不出來,我沒試過,快要期中考了也沒有時間想了,只好暫時先用上面的程式碼了,謝謝各位大大的意見。


獻花 x0 回到頂端 [7 樓] From:台灣中華電信 | Posted:2005-04-16 14:03 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

如果迴圈寫不出來....
遞迴也寫不出來....
那你程式還能怎麼寫....
至少我不會 表情.....


沒東西可以抓
獻花 x0 回到頂端 [8 樓] From:美國 | Posted:2005-04-16 15:51 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.080303 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言