翻訳計画Ruby翻訳計画〜。アルゴリズムを学ぶ上で自分的Goalは数独解答プログラムライツアウト解答プログラムを作ること。これらを自力で組み立てられたら力が付いたと判断。ライツアウトとは昔ハマったゲーム。買ったので、これの必勝アルゴリズムを考えてみるのも楽しそう。その先は進化論マニアなので遺伝的アルゴリズムを学んでRubyに応用する。1000までの素数を列挙するインターンで似たのやった。Ruby初日にしてこのレベルやらされたのかorzまず2-9では、すべての数について、その数以下の数で割ってみて割れなかったものを素数としている。endendprime1(1000)168個、計算回数78190回。1000までの素数を列挙する(効率upその1確定した素数を配列に格納し、その数だけで割る。#奇数だけ調べればよいので。#{p_counter}\n"endprime2(1000)計算回数15288回。1000までの素数を列挙する(効率upその2割る素数は、実は1000の√まででいい。何となれば、後半の素数は対象性により同じ計算をしているから。ある日付が年内で何日目かうるう年と平年で別の日数配列使う方法、いいね。#演習2-5「iとdaysを使わずおなじものを作れ。構造体の配列Rubyから入った軟弱似非プログラマが思うに、Rubyには変数の型がないんで配列内にStringでもFixnumでも何でも入る。故に、C言語などで言う「構造体」という概念は無意味...なのかな。ArrayとHashで表現できるはず。"\n")#↑演習2-6.人数分だけ「*」を表示して視覚化endHashにする必要はあまりなかった条件に合うものをfind_allで集め、配列にして返す。最初collect使おうとして苦しんでた。collectは各要素に処理をするだけなので、trueとfalseの配列が出てしまう。ある日付からn日後/前の日付を求める#引数は4つ。counterendprime4(1000)計算わずか23回!これはすごい。連載はてなブログをはじめよう!Hashさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。