- なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
206 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 00:01:29.60 ID:A17cgJj+ - 多数で、全体として、循環論法になってると、
だから、バブル崩壊が起こるよね
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
212 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 08:35:32.37 ID:A17cgJj+ - >>208
*1 項ごとの、n,s,iを保存 int sum(int n, int s, int i){ if (n < i) { return s; } retrun sum(n, s + i, i + 1); } int r = sum(10, 0, 1); *2 項ごとの、s,iを保存 int i[11] = {1}, j, s[11] = {0}; for (j = 1; j <= 10; j++) { i[j + 1] = i[j] + 1; s[i[j + 1]] = s[i[j]] + i[j]; } *3 保存しない int i, s = 0; for (i = 1; i <= 10; i++) { s = s + i; } 再帰関数ではないのはわかるけど これらは、スタックを保存しなければ 再帰処理ではないの?
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
214 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 08:39:08.25 ID:A17cgJj+ - ミスった
*2 項ごとの、s,iを保存 int i[11] = {1}, j, s[11] = {0}; for (j = 1; j <= 10; j++) { i[j] = i[j - 1] + 1; s[i[j] - 1] = s[i[j - 1] - 1] + i[j - 1]; }
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
216 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 08:47:52.49 ID:A17cgJj+ - >>215
スタックの存在を考えないと、末尾再帰しか考えられなくね?
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
218 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 09:26:16.59 ID:A17cgJj+ - トロ:せつないって報われない?
自分:はい トロ:せつないって胸キュン? 自分:はい トロ:トロはせつなくて胸キュンニャ!
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
219 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 09:36:11.89 ID:A17cgJj+ - >>217
だから 再帰関数は、関数から自身の関数を呼ぶかどうか 再帰定義は、定義に自身の簡単な定義を含むかどうか
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
222 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 10:14:49.99 ID:A17cgJj+ - >>220
はあ・・・これで分かる?特殊な書き方するけど、これで意味が分かってほしいな int i, s = 0; for (i = 1; i <= 10; i++) { s = s + i; } i=1の時 s(i=1,値1)=s(i=0,値0)+i(i=1,値1) i=2の時 s(i=2,値3)=s(i=1,値1)+i(i=2,値2) i=3の時 s(i=3,値6)=s(i=2,値3)+i(i=3,値3) 以下略 左辺のsumが逆流して右辺のsumを定義することになってるよ 実行手順の構造(ではないけど、正確には実行手順のテンポラリ)を 保持しながら帰ってきてるでしょ
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
225 :NAS6 ◆n3AmnVhjwc []:2015/09/08(火) 11:16:03.01 ID:A17cgJj+ - トロ:再帰って帰ってこれる?
自分:はい トロ:再帰って美味しい? 自分:はい トロ:トロは再帰して美味しいニャ!
|
|