探検
なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net
1デフォルトの名無しさん
2015/11/28(土) 18:51:38.86ID:Rc2MJzM/ なあ、再帰関数好きな人いる?
573NAS6 ◆n3AmnVhjwc
2016/01/05(火) 06:30:43.49ID:FnNfbNzM Array.push()、Array.pop()があるんね
>>568で済む内容を、ループで書きたかったら↓しなければならない
def loopHoge2(term,arg...)
while term
pushargstack(arg...)
dobefore(arg...)
if term
next
end
popargstack(arg...)
doafter(arg...)
end
end
stk = Array.new()
def pushargstack(arg1...argn)
stk.push(arg1)
...
stk.push(argn)
end
def popargstack(arg1...argn)
argn = stk.pop()
...
arg1 = stk.pop()
end
>>568で済む内容を、ループで書きたかったら↓しなければならない
def loopHoge2(term,arg...)
while term
pushargstack(arg...)
dobefore(arg...)
if term
next
end
popargstack(arg...)
doafter(arg...)
end
end
stk = Array.new()
def pushargstack(arg1...argn)
stk.push(arg1)
...
stk.push(argn)
end
def popargstack(arg1...argn)
argn = stk.pop()
...
arg1 = stk.pop()
end
574NAS6 ◆n3AmnVhjwc
2016/01/05(火) 06:44:29.17ID:FnNfbNzM def recHoge2(term,arg1...argn)
dobefore(arg1...argn)
if term
recHoge2(term,arg1...argn)
end
doafter(arg1...argn)
end
↑は、こう↓書き換えられる
def loopHoge2(term,arg1...argn)
while term
pushargstack(arg1...argn)
dobefore(arg1...argn)
if term
next
end
popargstack(arg1...argn)
doafter(arg1...argn)
end
end
stk = Array.new()
def pushargstack(arg1...argn)
stk.push(arg1)
...
stk.push(argn)
end
def popargstack(arg1...argn)
argn = stk.pop()
...
arg1 = stk.pop()
end
dobefore(arg1...argn)
if term
recHoge2(term,arg1...argn)
end
doafter(arg1...argn)
end
↑は、こう↓書き換えられる
def loopHoge2(term,arg1...argn)
while term
pushargstack(arg1...argn)
dobefore(arg1...argn)
if term
next
end
popargstack(arg1...argn)
doafter(arg1...argn)
end
end
stk = Array.new()
def pushargstack(arg1...argn)
stk.push(arg1)
...
stk.push(argn)
end
def popargstack(arg1...argn)
argn = stk.pop()
...
arg1 = stk.pop()
end
575NAS6 ◆n3AmnVhjwc
2016/01/05(火) 07:30:28.12ID:FnNfbNzM #同色上書き塗りつぶし
def refill(dest,src,x,y,color,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color
#上
if (src[y-1][x] == color) && (dest[y-1][x] != color)
refill(dest,src,x,y-1,color,minx,miny,maxx,maxy)
end
#左
if (src[y][x-1] == color) && (dest[y][x-1] != color)
refill(dest,src,x-1,y,color,minx,miny,maxx,maxy)
end
#下
if (src[y+1][x] == color) && (dest[y+1][x] != color)
refill(dest,src,x,y+1,color,minx,miny,maxx,maxy)
end
#右
if (src[y][x+1] == color) && (dest[y][x+1] != color)
refill(dest,src,x+1,y,color,minx,miny,maxx,maxy)
end
end
↑のループ等価が↓
def refill(dest,src,x,y,color,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color
#上
if (src[y-1][x] == color) && (dest[y-1][x] != color)
refill(dest,src,x,y-1,color,minx,miny,maxx,maxy)
end
#左
if (src[y][x-1] == color) && (dest[y][x-1] != color)
refill(dest,src,x-1,y,color,minx,miny,maxx,maxy)
end
#下
if (src[y+1][x] == color) && (dest[y+1][x] != color)
refill(dest,src,x,y+1,color,minx,miny,maxx,maxy)
end
#右
if (src[y][x+1] == color) && (dest[y][x+1] != color)
refill(dest,src,x+1,y,color,minx,miny,maxx,maxy)
end
end
↑のループ等価が↓
576NAS6 ◆n3AmnVhjwc
2016/01/05(火) 07:31:25.96ID:FnNfbNzM stk =Array.new()
#同色上書き塗りつぶし
def loop_refill(dest,src,x,y,color,minx,miny,maxx,maxy)
term = 0
while !((x < minx) || (maxx < x) ||(y < miny) || (maxy < y))
dest[y][x] = color
#上
if (term < 1) && (src[y-1][x] == color) && (dest[y-1][x] != color)
term = 0
stk.push(x)
stk.push(y)
stk.push(term)
y = y - 1
term = 0
next
end
#左
if (term < 2) && (src[y][x-1] == color) && (dest[y][x-1] != color)
term = 1
stk.push(x)
stk.push(y)
stk.push(term)
x = x - 1
term = 0
next
end
#同色上書き塗りつぶし
def loop_refill(dest,src,x,y,color,minx,miny,maxx,maxy)
term = 0
while !((x < minx) || (maxx < x) ||(y < miny) || (maxy < y))
dest[y][x] = color
#上
if (term < 1) && (src[y-1][x] == color) && (dest[y-1][x] != color)
term = 0
stk.push(x)
stk.push(y)
stk.push(term)
y = y - 1
term = 0
next
end
#左
if (term < 2) && (src[y][x-1] == color) && (dest[y][x-1] != color)
term = 1
stk.push(x)
stk.push(y)
stk.push(term)
x = x - 1
term = 0
next
end
577NAS6 ◆n3AmnVhjwc
2016/01/05(火) 07:31:53.09ID:FnNfbNzM #下
if (term < 3) && (src[y+1][x] == color) && (dest[y+1][x] != color)
term = 2
stk.push(x)
stk.push(y)
stk.push(term)
y = y + 1
term = 0
next
end
#右
if (term < 4) && (src[y][x+1] == color) && (dest[y][x+1] != color)
term = 3
stk.push(x)
stk.push(y)
stk.push(term)
x = x + 1
term = 0
next
end
term = stk.pop()
y = stk.pop()
x = stk.pop()
end
end
if (term < 3) && (src[y+1][x] == color) && (dest[y+1][x] != color)
term = 2
stk.push(x)
stk.push(y)
stk.push(term)
y = y + 1
term = 0
next
end
#右
if (term < 4) && (src[y][x+1] == color) && (dest[y][x+1] != color)
term = 3
stk.push(x)
stk.push(y)
stk.push(term)
x = x + 1
term = 0
next
end
term = stk.pop()
y = stk.pop()
x = stk.pop()
end
end
578NAS6 ◆n3AmnVhjwc
2016/01/05(火) 07:34:06.45ID:FnNfbNzM 再帰関数を無理矢理ループで書くことが
正解だなんてとても思えないんだけど・・・
正解だなんてとても思えないんだけど・・・
579NAS6 ◆n3AmnVhjwc
2016/01/05(火) 07:57:54.39ID:FnNfbNzM580NAS6 ◆n3AmnVhjwc
2016/01/05(火) 08:01:46.66ID:FnNfbNzM destはコピー先だからそういう条件でクリア済みってことで
581NAS6 ◆n3AmnVhjwc
2016/01/05(火) 08:14:57.62ID:FnNfbNzM 2色必要だった・・・
srcのx,yからcolor2の連続部分をdestにcolor1で塗りつぶし
#同色上書き塗りつぶし
def refill(dest,src,x,y,color1,color2,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color1
#上
if (src[y-1][x] == color2) && (dest[y-1][x] != color1)
refill(dest,src,x,y-1,color1,color2,minx,miny,maxx,maxy)
end
#左
if (src[y][x-1] == color2) && (dest[y][x-1] != color1)
refill(dest,src,x-1,y,color1,color2,minx,miny,maxx,maxy)
end
#下
if (src[y+1][x] == color2) && (dest[y+1][x] != color1)
refill(dest,src,x,y+1,color1,color2,minx,miny,maxx,maxy)
end
#右
if (src[y][x+1] == color2) && (dest[y][x+1] != color1)
refill(dest,src,x+1,y,color1,color2,minx,miny,maxx,maxy)
end
end
srcのx,yからcolor2の連続部分をdestにcolor1で塗りつぶし
#同色上書き塗りつぶし
def refill(dest,src,x,y,color1,color2,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color1
#上
if (src[y-1][x] == color2) && (dest[y-1][x] != color1)
refill(dest,src,x,y-1,color1,color2,minx,miny,maxx,maxy)
end
#左
if (src[y][x-1] == color2) && (dest[y][x-1] != color1)
refill(dest,src,x-1,y,color1,color2,minx,miny,maxx,maxy)
end
#下
if (src[y+1][x] == color2) && (dest[y+1][x] != color1)
refill(dest,src,x,y+1,color1,color2,minx,miny,maxx,maxy)
end
#右
if (src[y][x+1] == color2) && (dest[y][x+1] != color1)
refill(dest,src,x+1,y,color1,color2,minx,miny,maxx,maxy)
end
end
582NAS6 ◆n3AmnVhjwc
2016/01/05(火) 08:16:57.10ID:FnNfbNzM >>576-577
も同様に直してね
も同様に直してね
583NAS6 ◆n3AmnVhjwc
2016/01/05(火) 08:48:45.20ID:FnNfbNzM recHoge2(term,arg1...argn){
dobefore(arg1...argn);
if(term)recHoge2(term,arg1...argn);
doafter(arg1...argn);
}
この↑再帰関数を無理矢理
loopHoge2(term,arg1...argn){
while(term){
pushargstack(arg1...argn);
dobefore(arg1...argn);
if(term){continue;}
popargstack(arg1...argn);
doafter(arg1...argn);
}
}
ループで書くのはpushargstack()popargstack()書くのもだし
再帰関数でreturnされた時の箇所で
制御をdoafter()に飛ばすように考えるのもめんどくさい
つまり、再帰関数の構造化の部分までなんでわざわざ
コーディングする必要があるのか謎
dobefore(arg1...argn);
if(term)recHoge2(term,arg1...argn);
doafter(arg1...argn);
}
この↑再帰関数を無理矢理
loopHoge2(term,arg1...argn){
while(term){
pushargstack(arg1...argn);
dobefore(arg1...argn);
if(term){continue;}
popargstack(arg1...argn);
doafter(arg1...argn);
}
}
ループで書くのはpushargstack()popargstack()書くのもだし
再帰関数でreturnされた時の箇所で
制御をdoafter()に飛ばすように考えるのもめんどくさい
つまり、再帰関数の構造化の部分までなんでわざわざ
コーディングする必要があるのか謎
584デフォルトの名無しさん
2016/01/05(火) 23:45:47.40ID:zRwuHMxA そうだね、グリーンだね。
任意の再帰はスタックを使えばループに書き直せるし、任意のループは末尾再帰で書き表せるけど
書きやすい方で書いたら良いんじゃない?
配列を舐めるだけのループをわざわざ再帰で書く必要はないし、
二分木を舐めるだけの再帰をわざわざループで書く必要はない。
勿論例外は幾つもあるけどね。
任意の再帰はスタックを使えばループに書き直せるし、任意のループは末尾再帰で書き表せるけど
書きやすい方で書いたら良いんじゃない?
配列を舐めるだけのループをわざわざ再帰で書く必要はないし、
二分木を舐めるだけの再帰をわざわざループで書く必要はない。
勿論例外は幾つもあるけどね。
585uy ◆Qawu9.2l1E
2016/01/06(水) 01:13:15.45ID:kZN9AhFE 死ね → NAS6 ◆n3AmnVhjw
586デフォルトの名無しさん
2016/01/06(水) 01:26:34.40ID:2plodUsJ >>585
語彙少なすぎだろ
語彙少なすぎだろ
587uy ◆Qawu9.2l1E
2016/01/06(水) 05:38:10.76ID:NwAUbAKq 時間とフィンガーポイントを無駄にしたくない
588デフォルトの名無しさん
2016/01/06(水) 11:44:51.16ID:Hrty1iRZ ばいばい
589uy ◆Qawu9.2l1E
2016/01/07(木) 03:29:43.72ID:VBUUQOGk MPC
590デフォルトの名無しさん
2016/01/07(木) 14:29:25.41ID:9s+XESwg591デフォルトの名無しさん
2016/01/07(木) 23:10:34.37ID:ceukK3gk またuyが言い負かされてると聞いて
592uy ◆Qawu9.2l1E
2016/01/08(金) 07:36:31.52ID:37pbuAYe http://kakaku.com/item/K0000791258/
これを使ってるけど打ちにくい
隙間にゴミが入りにくいキーボードで何か探してくれれば長文レス出来るけど
ゲームもやるから同時押しが出来ないキーボードは使えないんだよ
バッファローのこのキーボード系列は
何故かゲーミングキーボードでもない癖にかなりの同時押しが出来る
お前らもこれくらい社会の役に立ってくれ
これを使ってるけど打ちにくい
隙間にゴミが入りにくいキーボードで何か探してくれれば長文レス出来るけど
ゲームもやるから同時押しが出来ないキーボードは使えないんだよ
バッファローのこのキーボード系列は
何故かゲーミングキーボードでもない癖にかなりの同時押しが出来る
お前らもこれくらい社会の役に立ってくれ
593デフォルトの名無しさん
2016/01/08(金) 07:58:14.49ID:qSmN42Fw 長文レスなんざしなくていいから死ね
594デフォルトの名無しさん
2016/01/08(金) 08:06:15.22ID:t0B3KsjR ゲームなどという恥ずかしいご趣味をお持ちのようで
595デフォルトの名無しさん
2016/01/08(金) 12:51:08.30ID:OGMciHiU tail callはrecursive callと直行する概念だと理解してないのが何人かいるな
596デフォルトの名無しさん
2016/01/08(金) 12:54:36.23ID:qoujFuKs 直行てなんやねんwてのが何人もいるな
597デフォルトの名無しさん
2016/01/08(金) 13:19:39.58ID:39T3KdLp 読みやすい方で書いたらいいんちゃうの?
無理にループにしてソース長くしてテスト項目増やす奴の気がしれんわ
無理にループにしてソース長くしてテスト項目増やす奴の気がしれんわ
598デフォルトの名無しさん
2016/01/08(金) 13:22:10.55ID:39T3KdLp 取り敢えずutがカスだってのは旗から見てわかった
補足しておくけどループで済むものを再起にしろと言ってるわけではないからな
補足しておくけどループで済むものを再起にしろと言ってるわけではないからな
599デフォルトの名無しさん
2016/01/08(金) 14:05:20.20ID:qSmN42Fw そりゃrecursiveじゃないtail callなんざ幾らでもあるわ
600デフォルトの名無しさん
2016/01/08(金) 14:44:50.10ID:oo2zXXZh601デフォルトの名無しさん
2016/01/08(金) 19:53:25.00ID:XdIzL1DI 仮にもプログラマならHHK使ってます自慢くらいしろよっていう
そういう俺はreal forceだけど。
そういう俺はreal forceだけど。
602デフォルトの名無しさん
2016/01/08(金) 22:36:48.34ID:ktsgJ36p >>595
まっすぐ行ってどうすんねん…
まっすぐ行ってどうすんねん…
603デフォルトの名無しさん
2016/01/08(金) 22:52:34.47ID:Ydps26p4 ワロタ
604デフォルトの名無しさん
2016/01/09(土) 19:28:51.30ID:j10t/SxZ 芸能界で生きていけるレベルの芸だな。
605uy ◆Qawu9.2l1E
2016/01/13(水) 15:37:06.33ID:KvZEN8k1 自分はプログラマじゃないんだよ
目的を最高効率で達成する事を念頭に置いてるスクリプトキディだ
そして複数人でプログラムを組むときに必要なノウハウなんて持ってない
そもそも自分はそういう事をしなくて良いから、生きてく上で必要無い配慮だから
周りが読みにくいとか知った事ではないし
身分がちげーんだよカス
目的を最高効率で達成する事を念頭に置いてるスクリプトキディだ
そして複数人でプログラムを組むときに必要なノウハウなんて持ってない
そもそも自分はそういう事をしなくて良いから、生きてく上で必要無い配慮だから
周りが読みにくいとか知った事ではないし
身分がちげーんだよカス
606デフォルトの名無しさん
2016/01/13(水) 16:53:37.49ID:QjeDGB/s スクリプトキディの意味も知らないのな
607デフォルトの名無しさん
2016/01/13(水) 16:58:20.95ID:4eNfFdO0 (他人の作った)スクリプトを使うしか能の無いお子様
正しく自分のこと理解してるということでいいのかもしれないですね。
正しく自分のこと理解してるということでいいのかもしれないですね。
608デフォルトの名無しさん
2016/01/13(水) 18:34:23.73ID:QjeDGB/s 正しく自分を理解していたら、あんなバカな生態を晒し続けるわけが無い
スクリプトキディとは、他人の作ったスクリプトでいたずらしてはしゃぐお子様の事だね
スクリプトキディとは、他人の作ったスクリプトでいたずらしてはしゃぐお子様の事だね
609デフォルトの名無しさん
2016/01/13(水) 19:01:27.17ID:U6rexLyV にちゃんに
610デフォルトの名無しさん
2016/01/13(水) 19:03:20.75ID:U6rexLyV 誤送信
2ちゃんに書き込んでる地点で効率最悪といえる
2ちゃんに書き込んでる地点で効率最悪といえる
611デフォルトの名無しさん
2016/01/13(水) 21:24:04.62ID:VbVWsLR9 地点?
612デフォルトの名無しさん
2016/01/13(水) 22:25:51.39ID:IMboGSkT 数学的な再帰定義関数は好き
プログラムの再帰定義は多少罪悪感が
プログラムの再帰定義は多少罪悪感が
613デフォルトの名無しさん
2016/01/14(木) 05:26:27.60ID:uv3Ej0dB 身分は再起する
614デフォルトの名無しさん
2016/01/15(金) 10:47:33.86ID:u0Mj97aD >>605
読みやすさを考慮しなくていいとか言うなら、ソースあげんなksが
読みやすさを考慮しなくていいとか言うなら、ソースあげんなksが
615デフォルトの名無しさん
2016/01/15(金) 20:31:31.62ID:POz82VxF まともなプログラムは再帰使わないて
Javaじゃ標準でhashでもvisitorでも使ってるやん
初心者かな?
Javaじゃ標準でhashでもvisitorでも使ってるやん
初心者かな?
616デフォルトの名無しさん
2016/01/15(金) 20:52:05.45ID:DNDI2k7a >>615
ウェブサイトがハッキングされるのはそのせいかもしれませんね。
ウェブサイトがハッキングされるのはそのせいかもしれませんね。
617デフォルトの名無しさん
2016/01/15(金) 20:59:16.36ID:POz82VxF ワロタ
何別人ぶってるんだコイツ
何別人ぶってるんだコイツ
618デフォルトの名無しさん
2016/01/15(金) 21:40:58.93ID:bARE8Ecx Javaがまともじゃないとか何様だよ
619デフォルトの名無しさん
2016/01/15(金) 22:51:22.58ID:DNDI2k7a Haskellを知ればJavaなんぞ子供のおもちゃにも及ばない。
620デフォルトの名無しさん
2016/01/15(金) 22:52:36.63ID:nz6sd5// でも cloujure が気になるのです‥
621デフォルトの名無しさん
2016/01/16(土) 20:53:37.66ID:mv0cs2FW データベース扱いにくいゴミ
622デフォルトの名無しさん
2016/01/16(土) 22:18:41.95ID:8IHN4wdz データベースは扱いにくいゴミだそうです。
623デフォルトの名無しさん
2016/01/17(日) 15:36:45.95ID:LBaM8j14 いや、もしかしたら
データベースを扱うのに困難を伴うゴミ人間って意味かも
データベースを扱うのに困難を伴うゴミ人間って意味かも
624デフォルトの名無しさん
2016/01/17(日) 18:00:23.51ID:UWpoaTz9 もしかして、もしかしてだけどさ、Haskelのこと言ってるんじゃね?
625デフォルトの名無しさん
2016/01/18(月) 05:28:47.91ID:lC5RiWYz Haskellほどデータベース扱いやすい言語も少ないからそれはない
626デフォルトの名無しさん
2016/01/18(月) 20:02:16.24ID:DTRfKFLk 世界一のデータベースを持つと言われるGoogleがHaskellで動いているくらいだからね。
627デフォルトの名無しさん
2016/01/18(月) 20:42:43.12ID:1d5YkXP9 Haskellって実用で使われてんのかw
おもちゃかと思ってたわw
おもちゃかと思ってたわw
628デフォルトの名無しさん
2016/01/19(火) 15:31:29.42ID:py3nDmvs おもちゃだよ
Googleのおもちゃ
Googleのおもちゃ
629デフォルトの名無しさん
2016/01/19(火) 21:26:53.35ID:C1tOs2Eu この世はおもちゃで十分
630デフォルトの名無しさん
2016/01/20(水) 12:31:10.14ID:K5mS7ftq 2ちゃんは漏れらのおもちゃ
631デフォルトの名無しさん
2016/01/20(水) 17:52:59.34ID:Evm4j3E4 漏れらとか使う香具師久しぶりに見たわ
632デフォルトの名無しさん
2016/01/20(水) 19:02:11.21ID:aKBKow0I イッテヨシとかギコはにゃーんとかもう死語なんだろうな。
ゴルァはまだありかな。
ゴルァはまだありかな。
633デフォルトの名無しさん
2016/01/21(木) 12:48:08.73ID:zpe1QHZ3 ヌルポにはガッっていうのはなぜだったのか理由がいまだに判らないので
香具師にどう反応すればいいのかも判らない
香具師にどう反応すればいいのかも判らない
634デフォルトの名無しさん
2016/01/21(木) 23:38:12.84ID:C4EemGup >>633
ぬるぽにかぎらず、例外発生したら、ガッ!
ぬるぽにかぎらず、例外発生したら、ガッ!
635デフォルトの名無しさん
2016/01/22(金) 01:18:00.03ID:G5rv7JJ3636デフォルトの名無しさん
2016/01/22(金) 11:22:37.47ID:vIHZAGQE ヌルポ
637デフォルトの名無しさん
2016/01/22(金) 17:22:39.92ID:AzZButyZ たたき続けなさい
さすればヌルポは失せるでしょう
さすればヌルポは失せるでしょう
638デフォルトの名無しさん
2016/01/23(土) 18:27:15.12ID:TOjqi36j >>636
catch
catch
639デフォルトの名無しさん
2016/01/23(土) 18:56:26.79ID:0d2orZXz >>638
ガッてキャッチのことだったの?
ガッてキャッチのことだったの?
640デフォルトの名無しさん
2016/01/31(日) 18:53:58.36ID:N9Aq8poo >>638
そしてスローせず
そしてスローせず
641デフォルトの名無しさん
2016/01/31(日) 21:42:25.99ID:OzonL4m2 ガッはガッチャの略だろ。 ガッチャマンでお馴染みのガッチャはI have got you.の略で捕まえたとかの意味。
642デフォルトの名無しさん
2016/02/01(月) 01:42:44.99ID:IP+vl4xQ でもアメリカのドラマ見てると了解するときにガッチャ!って言ってるよね。
特にチャーリーズエンジェルのカエル顔が(別のドラマでも)言ってるような気がする。
特にチャーリーズエンジェルのカエル顔が(別のドラマでも)言ってるような気がする。
643デフォルトの名無しさん
2016/02/19(金) 20:26:15.94ID:wEwKzS1i 再帰使うとエラーの予測が立てにくい
644デフォルトの名無しさん
2016/02/19(金) 22:00:01.71ID:eeiEIdAh それ再帰のせいじゃなくてもともと難しいアルゴリズムなんじゃ
645デフォルトの名無しさん
2016/02/19(金) 22:04:28.48ID:jxx0XdOv 再帰の方が簡単に難しいアルゴリズムを作れる
646デフォルトの名無しさん
2016/02/19(金) 22:41:27.96ID:wEwKzS1i 同じコードでも言語やバージョンの違いで即死する可能性があるのがネック。
可能ならwhileにするよ。
どうでもいいスクリプトなら木にしないけど。
べ、別に再帰関数苦手なわけじゃないんだからね!
可能ならwhileにするよ。
どうでもいいスクリプトなら木にしないけど。
べ、別に再帰関数苦手なわけじゃないんだからね!
647デフォルトの名無しさん
2016/02/24(水) 00:10:47.14ID:i1Xglt1a 再帰否定する奴は局所変数も否定すんの?
648uy ◆Qawu9.2l1E
2016/02/25(木) 06:44:19.41ID:loCQbBq3 再帰否定派は生きるのがつらいんだよ
いつも周りのもの何もかも否定してるよ
いつも周りのもの何もかも否定してるよ
649デフォルトの名無しさん
2016/02/25(木) 12:35:19.93ID:tc7lGvfi 無限か有限かを判別するだけでも難しい再帰コールが簡単に作れるからな
650デフォルトの名無しさん
2016/02/25(木) 22:13:06.90ID:OuMkr9Sq ループなら無限か有限か簡単に判別できるとでも?
651デフォルトの名無しさん
2016/02/26(金) 03:25:44.03ID:VdCPJ0Vc 再帰の方が簡単に作れる
652デフォルトの名無しさん
2016/02/26(金) 03:33:16.76ID:VdCPJ0Vc 例えば再帰を使えばC++149文字で数学的に非常に判別が難しいコードが作れる
ステップ数がF_φ_ω(0) (n)のオーダー
再帰を使わないともっとずっと必要な文字数は増える
ステップ数がF_φ_ω(0) (n)のオーダー
再帰を使わないともっとずっと必要な文字数は増える
653デフォルトの名無しさん
2016/02/26(金) 12:24:24.63ID:x5+an1W2 つまり再帰を使うと簡単に分かりにくいコードが書けてしまうというアピール
アホなのこいつ?
アホなのこいつ?
654デフォルトの名無しさん
2016/02/26(金) 12:55:19.99ID:V8jyQAYV まともなプログラマーしかいなけりゃ問題ないよ
655デフォルトの名無しさん
2016/02/26(金) 20:22:01.88ID:KBsVtPlI 適材適所
まぁ、ループは現代ではほとんど高階関数に置き換えられてはいるが
まぁ、ループは現代ではほとんど高階関数に置き換えられてはいるが
656デフォルトの名無しさん
2016/02/26(金) 20:31:47.39ID:VdCPJ0Vc そうか?
657デフォルトの名無しさん
2016/02/27(土) 09:47:03.89ID:GGk6IaQQ 再帰、ループ、高階関数は互いに別カテゴリーの概念だけどな。
658デフォルトの名無しさん
2016/02/27(土) 13:35:50.10ID:wN2C/qqy >ループは現代ではほとんど高階関数に置き換えられてはいるが
mapとかfoldって言いたいの?
mapとかfoldって言いたいの?
659デフォルトの名無しさん
2016/02/29(月) 09:52:02.11ID:+UQXiICf ファンクショナルのことだろ
660デフォルトの名無しさん
2016/02/29(月) 12:09:46.90ID:gY4tu7UX Yコンビネータの事かも
661デフォルトの名無しさん
2016/03/05(土) 08:19:26.32ID:C1oJ0ySj 最近の言語は分かり易いから好んで使う人多いみたいだね。
俺はダメだわ。単純な再帰でもアセンブラ時代の間接修飾と再帰を混合で使ってたときのトラウマが・・・
俺はダメだわ。単純な再帰でもアセンブラ時代の間接修飾と再帰を混合で使ってたときのトラウマが・・・
662デフォルトの名無しさん
2016/03/05(土) 13:03:33.56ID:4AspLwzf スタック使うから組み込みでは禁則かな
663デフォルトの名無しさん
2016/03/05(土) 16:01:56.83ID:Xc1YGBo+ 末尾呼びにすればぁ?
664デフォルトの名無しさん
2016/03/06(日) 13:58:13.11ID:9mzH85Ox 無理して使う物ではないのは、確か。
665デフォルトの名無しさん
2016/03/07(月) 19:41:03.81ID:0qoaCMqF666デフォルトの名無しさん
2016/03/07(月) 20:15:13.20ID:X8YwrOCo >>665
ループ,というよりは map によるメモ化を先にするべきかと思う
ループ,というよりは map によるメモ化を先にするべきかと思う
667デフォルトの名無しさん
2016/03/07(月) 20:44:00.00ID:ouSCK2N5 アッカーマンメモ化はやめとけ
メモリ使用量がシャレにならん。
小さい引数ならいいけど。
メモリ使用量がシャレにならん。
小さい引数ならいいけど。
668デフォルトの名無しさん
2016/03/07(月) 23:04:02.15ID:ouSCK2N5 と思ったけどスタック消費量は逆に減る?
よくわからんくなってきた。
よくわからんくなってきた。
669デフォルトの名無しさん
2016/03/07(月) 23:55:21.18ID:DhnnCcYX >>668
アッカーマンはメモ化意味ない
アッカーマンはメモ化意味ない
670デフォルトの名無しさん
2016/03/08(火) 06:31:35.48ID:mBS7w7C0 しかしヤッターマンならきっとやってくれる
671デフォルトの名無しさん
2016/03/09(水) 19:45:38.58ID:8kThrIH6672デフォルトの名無しさん
2016/03/15(火) 20:46:33.65ID:Ar6pzjDU メモ化とかメモリリークしてるに等しい欠陥技術でしょ。
673デフォルトの名無しさん
2016/03/15(火) 20:54:37.80ID:RIoPtDsj >>672
fjの昔からの議論をここで蒸し返しますか?
fjの昔からの議論をここで蒸し返しますか?
レスを投稿する
ニュース
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★12 [ぐれ★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 ★2 [ぐれ★]
- 中国ハッカー集団「高市が存立危機発言を撤回しない限り日本企業にAIを用いた自動大規模サイバー攻撃をやり続ける」 高市「いいわよw」 [314039747]
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- 腹が出てきてやばい助けて
- 【ネトウヨ死亡w】AIに「日中関係の今後を予測してみて」と聞いた結果、「日本必敗」と判明 [314039747]
- 徳島県と聞いて浮かぶもの
- 過激派活動家「チー牛集団は地球から追い出したほうが平和になる」←これ
