もう2週間くらいプログラミングの再帰関数理解できないんだが

1 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:43:35.359 ID:0E8ClFsgM.net
全然分からん
助けて

100 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:23:18 ID:XMrPjvvCd.net

結局最適化して再帰外すんだからほんと無意味

37 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:53:33.048 ID:0E8ClFsgM.net

>>34
英語だから日本語で問題かくね

文字列Sを反転させよ
再帰関数を用いて

7 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:45:30.364 ID:jQxx+WDW0.net

exec(ぬるぽ){

exec(ガッ)
}

9 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:45:38.133 ID:6eKHq+jcM.net

仕事内容によっちゃ別に必須でもない

18 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:48:36 ID:th+oMaSi0.net

>>10
そら関数だからなあ

10 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:45:42.692 ID:0E8ClFsgM.net

>>4
ループのくせに値返したりするしよくわからん

91 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:11:29.054 ID:haN+yzYIa.net

>>88
問題書いてあったのに、理解できずに責任転嫁とは…

56 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:59:14.025 ID:VZEs4hu6p.net

再帰関数文字列反転とかで調べたら出るじゃん
わからないこと調べられないなら素質ないぞ

28 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:51:19 ID:th+oMaSi0.net

>>21
求めたいデータになるように処理をループさせてるだけとしか

ちなみに再帰関数で書けるものは(多分)普通の書き方もできるよ

31 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:52:06.153 ID:0E8ClFsgM.net

マジでわからん

12 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:46:42.623 ID:0E8ClFsgM.net

>>9
知っといた方がいいじゃん

51 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:57:33.811 ID:0E8ClFsgM.net

>>47
Pythonで書いて

53 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:58:08.632 ID:jQxx+WDW0.net

>>47
アルゴリズム組むことが目的だから
単純に結果を得たいだけなら標準ライブラリ使えば一発

122 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 14:38:47.089 ID:wVKEecSZ0.net

結構実装すると、なんか抜けててとか不等号とかで動かないとかが出てきて
ちょこちょこいじって。よしこれで動くでやってしまってる
バグがあってもよーわからん
今までで1回だけしか再帰でしか動かないってプログラムに出会った事ないけど

65 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:01:39 ID:s742Jozb0.net

>>51
すまんpythonはよく分からん
n文字目も入力、n+1文字目を返り値として、
n+1文字目がみつからなければprintしつつreturnとかでいいんじゃない?

5 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:45:11.660 ID:0E8ClFsgM.net

>>3
確かに

27 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:50:54.933 ID:0E8ClFsgM.net

>>24
どうしたら全部調べたかわかるんだい?

68 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:02:38 ID:0E8ClFsgM.net

forならかける

34 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:52:24.605 ID:sJDrUSeZH.net

お前が今見てる関数をよこせ

97 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:17:32.680 ID:UnFtUXmKd.net

まぁ再帰使わなくても自前でスタック用意すればループで表現できるから別に使わなくてもいいよ

119 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 14:22:26.903 ID:7R8w65eTF.net

再帰の方が簡潔で分かりやすい場合もあるし、なんとも言えない

16 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:47:54.806 ID:1vXWEX8W0.net

>>11
?🤔

3 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:44:49.486 ID:vRPdyQpL0.net

なにがわからないのかわからない←再帰的な構造

42 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:55:40 ID:yDRMvzWQM.net

1!=1
n!=n*(n-1)!

78 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:05:01.408 ID:ZEh3Eu9Ga.net

再帰関数にこだわらなくても再起以外で解決する方法が何かしらあるうちは良いんじゃない
個人でやる程度なら無理して知る必要は無い

25 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:50:24.381 ID:0E8ClFsgM.net

戻り値がvoidとかintとか分からん

50 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:57:31.595 ID:KwBJSPX50.net

自転車の乗り方と同じで
仕組みが分かっても使えないから分からない感が続くんだよ
階乗とかフォルダ探索とか囲碁の石取りとか
ひたすら実装したらいいのに

38 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:54:07 ID:0E8ClFsgM.net

>>35
そういうのも勉強した

26 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:50:44.994 ID:jQxx+WDW0.net

>>25
それはわかれ

46 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:56:42.648 ID:OFP6/DPnM.net

ソートだろ要するに

89 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:09:53.451 ID:b6kivONv0.net

再帰関数って初めて聞いたけどそんな使い道なさそう

64 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:01:20 ID:0E8ClFsgM.net

>>61
知ってるよ
練習だよ

94 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:13:23 ID:E8JXLY+x0.net

スタックメモリが溢れるから嫌い

82 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:06:36.985 ID:zYytTwM10.net

ループみたいなもんだと思っとけ

4 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:45:07.540 ID:th+oMaSi0.net

再帰関数の何がわからないの?

44 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:56:36.046 ID:WBXyybH8d.net

再帰関数中の条件分岐が重要だよね

106 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:45:17.616 ID:KtwrkLQta.net

>>47
アスペ

71 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:03:38 ID:doCwAVkm0.net

そもそも関数を理解していないのでは

76 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:04:35.874 ID:0E8ClFsgM.net

自分で考えるよ

104 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:36:01 ID:2GfsoNqB0.net

その関数が大まかに何をしているのか考えてから、再起関数中の自身を呼び出さない分岐を見ると良い

105 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:37:52 ID:fAl12jd1a.net

111 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 12:10:40.110 ID:w/QTzmwD0.net

説明へただけど処理をfとすると
f(n)=f(f(n-1))
で表現できる
プログラミングより数学的なイメージでやった方がいいと思う

30 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:51:46.234 ID:jQxx+WDW0.net

>>27
下位ノードがなくなったら、そこがそこ

72 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:03:52 ID:0E8ClFsgM.net

>>71
そうかもね

47 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:56:51.808 ID:s742Jozb0.net

>>37
何それ再帰使う意義が分からん
解答は何となく分かるけどそれ普通に悪問じゃない?

19 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:48:57 ID:0E8ClFsgM.net

ベースケースがはっきり定義されてないとできん

98 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:20:48.912 ID:gCiP2eQR0.net

>>93
whileで無理?

61 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:01:02 ID:hlWaH6Nbd.net

再帰って関数のオーバーヘッド分遅くなったりしない?
ループで書けるとこはループで書いたほうがいいよね?

70 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:03:37 ID:0E8ClFsgM.net

>>69
知ってる

108 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 12:00:40.247 ID:4UliWFe/0.net

あとは変更されたstr[i]を代入してはいけない
何のためのt

80 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:05:39.735 ID:QJquHB+H0.net

>>74
無理に使う必要は無いよ
必要に応じて使う
そもそも今再帰関数を自分で実装するってそうそうないけどね
ライブラリ充実してるからそこら辺のアルゴリズム使うやつは実はいらん

43 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:55:59 ID:jQxx+WDW0.net

>>37
語尾まで延々と探索して語尾から要素引っ掴んで帰ってくるだけでは

48 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:57:09.558 ID:0E8ClFsgM.net

>>47
練習だから

123 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 14:39:27.223 ID:wVKEecSZ0.net

ちなみに探索とかになると再帰じゃないと出来ないが出てくる気がする
俺のはそれだった

120 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 14:30:23.186 ID:QJquHB+H0.net

>>119
正直一般的な処理系のアルゴリズムならすでにAPIやライブラリで存在してるから要らなくない
Cですらライブラリ使う時代

95 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:14:51 ID:yDRMvzWQM.net

>>94
末尾再帰

115 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 12:41:34.190 ID:17csJOwg0.net

>>93
再帰は末尾再帰やStackでできるよ

21 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:49:19 ID:0E8ClFsgM.net

>>18
それがわからん

60 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:00:40 ID:OFP6/DPnM.net

宿題は自分でやりましょう

35 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:52:33.071 ID:VZEs4hu6p.net

自分自身を自分の中で呼び出すことで処理を行うから個人的にはスタックをイメージするとわかりやすいと思う

67 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:02:30 ID:0E8ClFsgM.net

>>65
再帰関数がわからん

117 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 14:17:23.456 ID:QJquHB+H0.net

>>93
再帰じゃなくてもかけるよ

101 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:27:10.949 ID:6eKHq+jcM.net

>>12
そりゃそうだが2週も掛けるもんでもない
他の事やってた方がマシ

114 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 12:18:10.087 ID:w/QTzmwD0.net

最短経路とかだったら再帰関数で考えたら楽

102 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 11:32:44.431 ID:4j+pi/vFd.net

再帰処理でやらなきゃいかんのか?
LinqのReverse使えば簡単なのに

55 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:59:00.560 ID:LwMcentb0.net

再帰関数の仕組みが解らないんじゃくて
なんでこんな課題に対して再帰関数使わなきゃならないか解らないかつこんな課題の為に再帰関数でどうやるか考えるのがダルいならセンスあるよ
最適化が無意識の内にできてる証拠

109 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 12:02:59 ID:4UliWFe/0.net

なんなら関数呼び出しから怪しい

39 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:54:47 ID:0E8ClFsgM.net

文字列Sを反転させよ
再帰関数を用いて

↑これやって

49 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:57:18.585 ID:6Pne1HiO0.net

>>39
文字列を半分に割って、順番入れ換えてくっつければいい気がする

54 :以下、?ちゃんねるからVIPがお送りします:2020/07/30(木) 10:58:50.881 ID:OFP6/DPnM.net

ソートアルゴリズムをかけないようならセンスない

(Visited 3 times, 1 visits today)

参考になったらSNSでシェアお願いします!

レスを投稿する(名前省略可)

この記事を読んだ方へのおすすめ

Translate:

Translate »
ページTOPへ↑