X



なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net

0001デフォルトの名無しさん
垢版 |
2015/11/28(土) 18:51:38.86ID:Rc2MJzM/
なあ、再帰関数好きな人いる?
0637デフォルトの名無しさん
垢版 |
2016/01/22(金) 17:22:39.92ID:AzZButyZ
たたき続けなさい
さすればヌルポは失せるでしょう
0640デフォルトの名無しさん
垢版 |
2016/01/31(日) 18:53:58.36ID:N9Aq8poo
>>638
そしてスローせず
0641デフォルトの名無しさん
垢版 |
2016/01/31(日) 21:42:25.99ID:OzonL4m2
ガッはガッチャの略だろ。 ガッチャマンでお馴染みのガッチャはI have got you.の略で捕まえたとかの意味。
0642デフォルトの名無しさん
垢版 |
2016/02/01(月) 01:42:44.99ID:IP+vl4xQ
でもアメリカのドラマ見てると了解するときにガッチャ!って言ってるよね。
特にチャーリーズエンジェルのカエル顔が(別のドラマでも)言ってるような気がする。
0646デフォルトの名無しさん
垢版 |
2016/02/19(金) 22:41:27.96ID:wEwKzS1i
同じコードでも言語やバージョンの違いで即死する可能性があるのがネック。
可能ならwhileにするよ。
どうでもいいスクリプトなら木にしないけど。
べ、別に再帰関数苦手なわけじゃないんだからね!
0648uy ◆Qawu9.2l1E
垢版 |
2016/02/25(木) 06:44:19.41ID:loCQbBq3
再帰否定派は生きるのがつらいんだよ
いつも周りのもの何もかも否定してるよ
0652デフォルトの名無しさん
垢版 |
2016/02/26(金) 03:33:16.76ID:VdCPJ0Vc
例えば再帰を使えばC++149文字で数学的に非常に判別が難しいコードが作れる
ステップ数がF_φ_ω(0) (n)のオーダー
再帰を使わないともっとずっと必要な文字数は増える
0653デフォルトの名無しさん
垢版 |
2016/02/26(金) 12:24:24.63ID:x5+an1W2
つまり再帰を使うと簡単に分かりにくいコードが書けてしまうというアピール

アホなのこいつ?
0655デフォルトの名無しさん
垢版 |
2016/02/26(金) 20:22:01.88ID:KBsVtPlI
適材適所

まぁ、ループは現代ではほとんど高階関数に置き換えられてはいるが
0658デフォルトの名無しさん
垢版 |
2016/02/27(土) 13:35:50.10ID:wN2C/qqy
>ループは現代ではほとんど高階関数に置き換えられてはいるが

mapとかfoldって言いたいの?
0661デフォルトの名無しさん
垢版 |
2016/03/05(土) 08:19:26.32ID:C1oJ0ySj
最近の言語は分かり易いから好んで使う人多いみたいだね。

俺はダメだわ。単純な再帰でもアセンブラ時代の間接修飾と再帰を混合で使ってたときのトラウマが・・・
0667デフォルトの名無しさん
垢版 |
2016/03/07(月) 20:44:00.00ID:ouSCK2N5
アッカーマンメモ化はやめとけ
メモリ使用量がシャレにならん。
小さい引数ならいいけど。
0669デフォルトの名無しさん
垢版 |
2016/03/07(月) 23:55:21.18ID:DhnnCcYX
>>668
アッカーマンはメモ化意味ない
0674デフォルトの名無しさん
垢版 |
2016/03/25(金) 20:10:31.18ID:ARWxn+lM
再帰というソフトにはスタックというハードがあるけどほかのソフトをハードで実装するのはどうなの?
GCとかハードで実装してまったくフリーズなしに出来ないの?
0676デフォルトの名無しさん
垢版 |
2016/03/31(木) 20:21:06.47ID:qF1fcJk9
とあるRubyスクリプトだけどこれと等価のC書けんの?

$f=lambda{
print "f";
return $g
}

$g=lambda{
print "g"
return $f
}

a=$f
10.times{a=a.call}
0677デフォルトの名無しさん
垢版 |
2016/03/31(木) 20:26:53.36ID:+v8smRGz
rubyはcで書かれているんやで知らんかったやろ?
0678デフォルトの名無しさん
垢版 |
2016/03/31(木) 20:35:19.21ID:qF1fcJk9
そういう等価じゃなくて文法的にというか。
Cだと$fと$gの型をどうしていいかわからん。
0679デフォルトの名無しさん
垢版 |
2016/03/31(木) 21:08:44.15ID:qF1fcJk9
グローバル変数じゃなくてもこれでいけるっぽい

g=nil

f=lambda{
print "f";
return g
}

g=lambda{
print "g"
return f
}


a=f
10.times{a=a.call}
0680デフォルトの名無しさん
垢版 |
2016/03/31(木) 21:11:44.63ID:+v8smRGz
typedef void *(*F)()でいいやんけ
0683デフォルトの名無しさん
垢版 |
2016/03/31(木) 21:36:59.68ID:+v8smRGz
これでいけるやろ
#include <stdio.h>
typedef void *(*F)();
void *f();
void *g();
void *f()
{
puts("f");
return g;
}
void *g()
{
puts("g");
return f;
}
int main()
{
int i;
F func;
func = f;
for (i = 0; i < 10; ++i)
func = func();
return 0;
}
0685デフォルトの名無しさん
垢版 |
2016/03/31(木) 21:46:42.36ID:+v8smRGz
なんでいきなりg++やねんw
これ以上はcの質問スレでもいって聞けタコ
0687デフォルトの名無しさん
垢版 |
2016/03/31(木) 22:06:32.37ID:+v8smRGz
通るわアホw
つーかそんなレベルでよくその質問出来るなお前
0688デフォルトの名無しさん
垢版 |
2016/03/31(木) 22:09:21.97ID:qF1fcJk9
だからコンパイラは何つかったんよ。
こっちでも確認するから教えれ。
有料コンパイラだったら諦めるけど。
0694デフォルトの名無しさん
垢版 |
2016/03/31(木) 23:19:06.00ID:rR3RT0GR
キャストが嫌ならちゃんと型定義すればいいじゃん
と思ったがちゃんとやるには自己参照型定義みたいなのが必要になるのか
Cでそれってできるのかな

関数型Fのポインタを返す関数型をFと定義
0696デフォルトの名無しさん
垢版 |
2016/04/01(金) 00:06:13.07ID:hr4pCajV
お前はその前に悩むべき問題が山程あるだろw
0698デフォルトの名無しさん
垢版 |
2016/04/01(金) 22:07:22.21ID:8s2Zo6V8
>関数型Fのポインタを返す関数型をFと定義

これ定義できる静的型言語ってあるの?
それとも本質的論理的に矛盾した型であって、どうやっても定義できないの?
0699デフォルトの名無しさん
垢版 |
2016/04/06(水) 03:07:16.94ID:0S+muf67
Forループは正直見た目が汚らしい
場合にもよるんだろうけど、再帰で書けるならそっちのほうがコードが綺麗になる
0700デフォルトの名無しさん
垢版 |
2016/04/06(水) 12:22:11.84ID:N51toXoc
いかにもルビイバカらしい考え方だな
0704デフォルトの名無しさん
垢版 |
2016/04/14(木) 22:00:43.41ID:Lg/h7ZOX
#include<stdio.h>
char*s="#include<stdio.h>%cchar*s=%c%s%c;main(){printf(s,10,34,s,34);return 0;}";main(){printf(s,10,34,s,34);return 0;}
0706デフォルトの名無しさん
垢版 |
2016/04/24(日) 20:32:40.26ID:Y7E1SWkm
CPUがGPU化するのが先かGPUがCPU化するのが先か。
まあ超並列プログラムは憧れるけどね。
0708デフォルトの名無しさん
垢版 |
2016/04/27(水) 01:24:44.62ID:Pvz0UkFG
超並列はどうしてもデータレースが怖いからハードウェアトランザクションは必須だな
0709デフォルトの名無しさん
垢版 |
2016/04/28(木) 20:33:07.32ID:B776VxzF
ツクツクボウシの鳴き声を一番正確に表せた奴が優勝 [無断転載禁止]©2ch.net

1 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:01:56.231 ID:EVnE4ji20
ツクツクボーシッ!!!!ツクツクボーシッ!!!!ツククツ、ツククククククク……!!!
アッ ヴィーナス!!!! ヴィーナス!!!!ヴィヴィヴィヴィッ!!!!!

8 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:05:05.180 ID:rZ8gq0650
ツクツクホーシ!ツクツクホーシ!ッツクツク、ツクツクホーシ!
ッ!ツクツクヴィーヨー!ツクツクヴィーヨー!ツクツクツクツクアアアアア゙ア゙ア゙ア゙ア゙…天

12 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:24:50.425 ID:SYCMGSQFa
ツクツクウィーヨーンwwwwwwツクツクウィーヨーンwwwwwwウィーヨーンwwwwwwウィーヨーンwwwwwwあああああああああああああああ あ!!!!!!!
0710デフォルトの名無しさん
垢版 |
2016/04/30(土) 22:02:43.20ID:uVz81x78
GitHubで匿名通信(Tor、i2p等)ができるBitComet(トラッカーサイト不要でDHTだけで日本語検索可能)
みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
q
0711デフォルトの名無しさん
垢版 |
2016/05/04(水) 10:34:46.82ID:PLBcNQ3k
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0712デフォルトの名無しさん
垢版 |
2016/05/05(木) 20:47:26.30ID:a3JwFvV1
眠い時にプログラム書いてたら1つの関数の中にこれでもかと再帰を詰め込んだモンスター関数を書いてしまって訳が分からなくなる
0713デフォルトの名無しさん
垢版 |
2016/05/09(月) 20:57:03.75ID:QYIZFGji
アッカーマン関数はただの再帰じゃないらしいけど、
再帰のパワーを究極まで高めたら何になるの?
0714デフォルトの名無しさん
垢版 |
2016/05/10(火) 14:12:08.45ID:zxnDb8j/
チューリングマシンになる

証明:以下より明らか
・再帰を用いて、スタックとループをそれぞれ構築できる
・スタック2つとループを用いて、チューリングマシンを模倣できる
・故に、再帰の能力はチューリングマシン以上である。
・一方で、チューリングマシンを用いて再帰を表現出来る
・よって、再帰はチューリングマシンと等価である。

# ツッコミ待ち
0717デフォルトの名無しさん
垢版 |
2016/05/11(水) 20:12:13.79ID:LnJQmy5e
グッドスタイン数列というのがペアノ算術の限界を超えた再帰という話があるらしいのだが、詳しいことはよくわからない。
でもロマンを感じる。
0718デフォルトの名無しさん
垢版 |
2016/05/19(木) 19:24:04.68ID:eYV7veAj
女性限定、恋愛相談サイトオープン。
4000名のイケメンカウンセラーが在籍中♪

自己紹介動画はいつでも見放題です!

メンガ って検索してください
※本当のサイト名は英字です
0719デフォルトの名無しさん
垢版 |
2016/06/19(日) 18:09:53.79ID:SmadYZ7Z
最近再帰好きだわ
0722デフォルトの名無しさん
垢版 |
2016/06/19(日) 21:07:57.12ID:OFyR5xSG
再帰で実装した方がスッキリするケースってなかなか出てこないから最近全く使ってないや
0723デフォルトの名無しさん
垢版 |
2016/06/20(月) 12:26:15.09ID:xPaMOXBK
再起なんてバグの温床だからなぁ
マインスイーパー作る時ぐらいしか使わない
0724デフォルトの名無しさん
垢版 |
2016/06/20(月) 19:47:38.77ID:YaidyggX
import Data.Function (on)
import Data.List (concatMap, groupBy)
main =
    let (f:r) = mypi 2 4 1 12 4
        s = slice 5 $ slice 10 $ concatMap show r
    in putStrLn (show f ++ ".")
       >> putStr (unlines $ map unwords $ take 200 s)
slice :: Int -> [a] -> [[a]]
slice n ls = let q = concatMap (replicate n) [0..] :: [Int]
             in map (map snd) $ groupBy ((==) `on` fst) $ zip q ls
mypi :: Integer -> Integer -> Integer -> Integer -> Integer -> [Integer]
mypi k a b a1 b1 =
    let p = k * k
        q = 2 * k + 1
        a' = a1
        b' = b1
        a1' = p * a + q * a1
        b1' = p * b + q * b1
        loop a a1 d d1 =
            if d == d1 then
                d : let a' = 10 * (a `rem` b' )
                        a1' = 10 * (a1 `rem` b1')
                    in loop a' a1' (a' `quot` b') (a1' `quot` b1')
            else
                mypi (k + 1) a b' a1 b1'
     in loop a' a1' (a' `quot` b') (a1' `quot` b1')
えんしうりつを100まんけたひょうじする
0726デフォルトの名無しさん
垢版 |
2016/06/20(月) 23:52:55.90ID:YaidyggX
$ time ./pi >/dev/null
./pi > /dev/null 0.40s user 0.00s system 99% cpu 0.400 total
一瞬やね(最適化 -O)
ちなアルゴリズムはRubyのソースについてるやつから持ってきた
0727デフォルトの名無しさん
垢版 |
2016/06/27(月) 22:23:07.70ID:99UKpQvj
深さ優先探索より幅優先探索が好きだ。
重複がある場合計算量が深さより有利だし、
メモリモリモリ積んでゴリゴリ問題を制覇する感じがたまらない。
0729デフォルトの名無しさん
垢版 |
2016/07/18(月) 23:29:48.39ID:v2MXNS7u
まだ再帰一回しか使ったこと無いな。
ループでもよかった感じしたけど
0731デフォルトの名無しさん
垢版 |
2016/07/26(火) 07:11:59.49ID:HN1KCMsQ
ディレクトリ掘っていく処理なら再帰の方がすっきり書ける
それ以外使ったこと無いけど
0736デフォルトの名無しさん
垢版 |
2016/07/30(土) 22:01:40.05ID:v/rkDCKK
超簡単なハノイの塔のコードを
理解出来ない奴らばかり

俺様ステキ

再帰は楽しい
0737デフォルトの名無しさん
垢版 |
2016/07/30(土) 22:19:26.10ID:jcPMAjAY
ハノイの塔って最初誰が考えたんだろなw
まさに再帰のための問題だよなw
レスを投稿する


ニューススポーツなんでも実況