タグ 再帰
新着順 10 users 50 users 100 users 500 users 1000 usersMySQLを使っても会社は潰れない
MySQLを使っても会社は潰れない そんな話は聞いたことがない。AWS Lambdaが再帰実行されて潰れた会社の話は実際に聞いたことがあるが。 つい先日、私が書いた記事がとんでもなく大事になってしまい、大変な賛否を巻き起こした。 まさかこんなに読まれると思っていなかったので、大変驚いたのと同時にインターネッツの恐... 続きを読む
関数の再帰的な定義に名前付けは必要か - 貳佰伍拾陸夜日記
結論から言うと, 名前を付けることなく再帰的な関数を定義することは可能. 特定のプログラミング言語でどうかというよりは抽象概念としての関数の再帰を名前なしに実現可能かどうかという話(名前なしに実現できるプログラミング言語は存在するかという話). 発端 id:naoyaさんがこういうツイートをしていた. 再帰を書くと... 続きを読む
「ループ・再帰・gotoを使わず1から100までの数値を印字する」Conner Davis 氏の回答の考察 - Qiita
2019年6月に以下の記事が投稿されました。 ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?に対するIchi Kanayaさんの回答 - Quora 英語版の記事「How to print 1 to 100 in C++ without a loop, goto or recursion - Quora」から興味深い回答を抜き出して、それにランク付けをしながら... 続きを読む
ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか? - Quora
英語版から興味深い回答を勝手にランク付けしてご紹介します.[1] 初級 オクスフォード大学の計算生物学者 Hector Zenil 博士は「バカバカしいが最も自明な解」として次のコードを紹介してくれています.(読みやすさのため一部改変.)[2] #include <iostream> int main() { std::cout << "1" << std::endl; std::cout ... 続きを読む
本の虫: C++入門書で再帰について解説しようとしたら思わぬ最適化できないコードに出くわした
C++入門書を書き始めて早数カ月、すでに文章量が「江添亮の詳説C++17」の半分近くに達しているが、まだようやくループを説明したところだ。 ループの章を一通り書き終えて、ついでに再帰によってループを実現する方法について軽く触れて章を閉じようと、以下のようなコードを書いた。 void hello() { std::cout << "hello\n"s ; hello() ; } すると何故かsegm... 続きを読む
社会の慣性の法則:変化には長い時間を要する - シンギュラリティ教徒への論駁の書
2017 - 12 - 26 社会の慣性の法則:変化には長い時間を要する 第6章 シンギュラリティ論においては、ひとたび人間を超える 人工知能 が作られると、その 人工知能 は自身の知能を 再帰 的に指数関数的に成長させるのみならず、物質的貧困や紛争といった社会のさまざまな問題までもたちどころに解決できると主張されています。 この種の根拠のない信念、すなわち、「知能の高さや思考の量のみが進歩におけ... 続きを読む
思考主義批判:知能は問題解決のごく小さな部分に過ぎない - シンギュラリティ教徒への論駁の書
2017 - 12 - 25 思考主義批判:知能は問題解決のごく小さな部分に過ぎない 第6章 シンギュラリティ論、特に知能爆発説のシンギュラリティ仮説においては、ひとたび人間を超える 人工知能 が作られると、その 人工知能 は自身の知能を 再帰 的に指数関数的に成長させることができると主張されています。 更には、その超人的 人工知能 は、自身の知能を指数関数的に成長させるのみならず、科学やテクノロ... 続きを読む
DNS再入門ー初心者からベテランまで、基礎から見直して見よう。 #oscnagoya #osc_tss_ontap - Togetterまとめ
鈴木先生:今日、覚えていってほしいことが。DNSの概念があります。スタブリゾルバ、フルリゾルバ、キャッシュサーバー、コンテンツサーバー、ゾーン、委譲、グルー、再帰、そして、浸透…いうな #oscnagoya #osc_tss_ontap 続きを読む
Rustで型の多相再帰はできない - 簡潔なQ
2017 - 03 - 16 Rustで型の多相再帰はできない Rust OCaml や Haskell に比べると、Rustは多相 再帰 ができない場合がほとんどである。以下にその詳細を説明する。 多相 再帰 異なる型引数による 再帰呼び出し を多相 再帰 (polymorphic recursion) という。多相 再帰 はPurely Functinoal Data Structuresで紹... 続きを読む
「今日はやる気がないから明日から頑張る」という再帰的ワード - LIFE IS HAPPY!!!
2016 - 02 - 02 「今日はやる気がないから明日から頑張る」という再帰的ワード 「 再帰 」という言葉がある。プログラミングを知らない人には馴染みがあまりないかもしれない。 再帰 - Wikipedia 再帰 (さいき)とは、あるものについて記述する際に、記述しているものそれ自身への参照が、その記述中にあらわれることをいう 合わせ鏡のように鏡Aを見た時にはAの中にもう一方の鏡Bが写しださ... 続きを読む
末尾呼出し最適化が実装された - JS.next
2016 - 01 - 28 末尾呼出し最適化が実装された ★☆☆ ES2015 新仕様実装 V8 概要 ある関数Aから別の関数Bを呼び出すとき、処理系は後で戻って来れるように一旦Aの状態を保存し、関数Bの処理に入る。 これが問題になるのは 再帰 の時で、数万回程度の 再帰 でスタックが一杯になり、エラーとなってしまう。 しかし、もし関数B呼び出しの際に、関数Aに戻ってきて処理を続ける必要のない形... 続きを読む
「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき
2015-11-12 「プログラマが知るべき97のこと」を読んだ。 プログラミング道 非常に勉強になったので、所感とともに10個引用してみます。 [02] 関数型プログラミングを学ぶことの重要性 いきなり関数型プログラミングかい!って感じですが。 最近「JavaScriptで学ぶ関数型プログラミング」を読んでいて、非常に共感できる内容だったのでチョイス。カリー化や再帰を知ったことは、間違いなく自分... 続きを読む
RubyからGoの関数をつかわなくても再帰をやめなくてもアルゴリズムを改善する→はやい - prime's diary
2015-11-06 RubyからGoの関数をつかわなくても再帰をやめなくてもアルゴリズムを改善する→はやい qiita.com mattn.kaoriya.net という記事を読んだのでアルゴリズムを改善して速くしました。 いわゆる行列累乗のテクニックを使うと(乗算部分を除けば)N番目のフィボナッチ数はO(logN)で求まります。 実際にはフィボナッチ数は指数的に増大するので乗算にかかる時間が支... 続きを読む
Big Sky :: RubyからGoの関数をつかわなくても再帰をやめる → はやい
RubyからGoの関数をつかう → はやい - Qiita 約20倍はやい!!!!!!すごい!!!!!!!!!!!!!! Go単体での実行に毛が生えた程度になりました!!!!!!!!!!!!!!!!!! もう「Rubyより、ずっとはやい」なんて言わせないぞ!!!!!!!! http://qiita.com/grj_achm/items/679b3f3af2cf377f0f02 def fib(n)... 続きを読む
「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」をHaskellでやってみた - Qiita
http://www.softantenna.com/wp/software/5-programming-problems/ Haskellだと問題1が一番難しいともっぱらの噂の問題をやってみました。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 再帰のコードが一番簡単なので、まずはそれから。 ではついに一番難しいforループと... 続きを読む
Goで再帰使うと遅くなりますがそれが何だ - YAMAGUCHI::weblog
2015-02-23 Goで再帰使うと遅くなりますがそれが何だ Go はじめに こんにちは、Go界のうまい棒です。昼間にTwitter眺めてたら次のような記事を見かけました。 この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他) - Blank File 結果はあくまでフィボナッチ数列をナイーブに実装した場合なんで、まあ明らか... 続きを読む
再帰プログラミングに挑戦してみよう! : ロジックラボ for kids
ロジックラボ for kids ロジックラボは小学生からはじめるプログラミング教室です。 Scratchを中心としたゲームプログラミングの情報や ゲーム・アルゴリズムを紹介します。 今回は、スクリプトをスマートにする「再帰」というテクニックを使ってみましょう まずはこちらのURLを見てみて下さい http://scratch.mit.edu/projects/10000007/ ターボモードにしな... 続きを読む
「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes
2014-09-12 for やめろ」またはイベントループと nextTick() node.js nextTick setImmediate ものすごく遅レスですが、LLDiver で @esehara さんの LT であった話。 forやめろ、あるいは「繰り返し」という呪縛から逃れるために 簡単に言うと、 1~10 までを出力する方法を複数考えるというもの。 for, while, 再帰, g... 続きを読む
プログラミングは、コピペです | ただの通りすがり
プログラミングは、コピペです メソッド?コンストラクタ?再帰?このfor文どういう動きなわけ?! バブルソートってなに?来週までに作ってこいってなんだよその宿題。ってな具合で 完全に置いてけぼり食らった。俺の周りはそこそこプログラミング経験者が居て、 俺みたいな完全初心者は殆ど居ない。 マジでなんでこんな学部選んじまったんだ。プログラミングに適正あるなんて聞いてないよ;;たいしに パソコンが好きで... 続きを読む
圏論入門のとしてのホモロジー - 再帰の反復
数学圏論への入門の仕方ホモロジー付記:ホモトピーとホモロジーの違いコホモロジー関数のつながりにくさと(コ)ホモロジー完全系列と圏論的視点制約としての完全系列付記:加群のホモロジーとTor圏論への入門の仕方圏論を学ぶきっかけとしては、だいたい計算機科学、論理学からホモロジー、代数幾何からの二つがあって、一見すると計算機科学、ロジックの方から入った方が(数学の前提知識をあまり必要としないこともあって)... 続きを読む
再帰呼び出しを再帰呼び出しなしで実現 - 西尾泰和のはてなダイアリー
拙著「コーディングを支える技術」の第5章「関数」では、P.50で「再帰呼び出しを使っているプログラムは、再帰呼び出しを使わなくても書くことができる」と説明しました。この件に関してここで補足記事として解説することにしました。P.53の簡単な再帰呼び出しの例(total関数)をターゲットにします。これは空行とコメントを除くと8行の簡単な例です。このコードから、挙動を変えずに再帰呼び出しを取り除いてみま... 続きを読む
GHC でスタックトレース - あどけない話
Haskellこれまで GHC では、スタックトレースを取ることが有効なデバッグ方法ではなかった。なぜなら遅延評価では、(再帰であってもなくても)末尾呼び出しは単なるジャンプになるから、スタックを使わないのである。スタックに戻る場所を積むのは、case と of の中で評価される式だけだ。(つまり、ここは正格に評価される。)この問題を解決するために GHC 7.4.2 から、わざわざスタックにログ... 続きを読む
Rubyのデフォルト引数で再帰 - ( ꒪⌓꒪) ゆるよろ日記
Rubyのデフォルト引数では、他の引数に依存した式を書ける。地味に便利。 [1] pry(main)> def foo(a, b = a * 2) [1] pry(main)* puts b [1] pry(main)* end => nil [2] pry(main)> foo(3) 6 => nil 再帰もかける。デフォルト引数で再帰させてフィボナってみる [3] pry(main)> def... 続きを読む
404 Blog Not Found:(define 独学 再帰) - 書評 - 素数夜曲:女王陛下のLisp
要するに主題である整数論を、プログラミング言語schemeと一緒に学ぼうという大変意欲的な一冊である。まさに「全方位学習法」。GEBこと"Gödel, Escher, Bach"はここが弱かった。出版当時はまだパソコンは一般的とは言い難く、Lispは高嶺の花だった。同書でつまづいた人は、本書で独習後再思考してみよう。すらすら読めるようになっているはずだから。同様の理由で、本書はSICPに取り組む前... 続きを読む
再帰で考える - 予定は未定Blog版
再帰は関数型言語を構成する重要な部品の一つです*1。しかし、手続型言語に慣れたプログラマにとって、再帰で考えるというのは難しいものがあります。このエントリは、そういうプログラマが再帰で考えることができるようになるために書きました。言語としては、F# と C# を使っています (推奨は F#。C# は実用性が無いに等しい) が、Java プログラマでもある程度読めるでしょう。前提条件として、これらの... 続きを読む