小池イーサンだお(^O^)/

読んでーーーー

単語の頻度を数えるやつ

読んでた本に文字の出現頻度から暗号を解読する話が出てきたからRubyで書いてみたよ。(めちゃくちゃググった)
文字だけじゃ面白くないから単語の頻度も数えたよ。

ソース上に打ち込んだ文字列の頻度を数えるやつ
(ideone上で実行できるよ)

実行結果

----------word start----------
[["people", 3], ["the", 3], ["of", 1], ["by", 1], ["for", 1]]
----------word end ----------
----------char start----------
[["e", 9], ["p", 6], ["o", 5], ["h", 3], ["t", 3], ["l", 3], ["f", 2], ["y", 1], ["b", 1], ["r", 1]]
----------char end ----------

テキストファイルを読み込んで文字列の頻度を数えるやつ
(rbファイルと同じフォルダにtxtファイルおいて実行するだけ)

イーサンは
不思議の国のアリス(Alice's Adventures in Wonderland)
で試してみたよーーーー。

実行結果

----------word start----------
[["the", 1644], ["and", 872], ["to", 729], ["a", 632], ["it", 595], ["she", 553], ["i", 543], ["of", 514], ["said", 462], ["you", 411], ["alice", 398], ["in", 369], ["was", 357], ["that", 315], ["as", 263], ["her", 248], ["t", 218], ["at", 212], ["s", 201], ["on", 193], ["all", 182], ["with", 181], ["had", 178], ["but", 170], ["for", 153], ["they", 152], ["so", 151], ["be", 148], ["not", 145], ["very", 144], ["what", 141], ["this", 134], ["little", 128], ["he", 125], ["out", 117], ["is", 108], ["one", 104], ["down", 102], ["up", 100], ["there", 99], ["his", 96], ["if", 96], ["then", 94], ["about", 94], ["no", 90], ["them", 88], ["know", 87], ["like", 85], ["were", 85], ["would", 83], ["went", 83], ["herself", 83], ["again", 83], ["do", 81], ["have", 80], ["when", 79], ["could", 77], ["or", 77], ["queen", 75], ["thought", 74], ["off", 73], ["time", 71], ["me", 68], ["how", 68], ["see", 67], ["into", 67], ["well", 63], ["can", 63], ["did", 63], ["who", 63], ["m", 63], ["king", 63], ["your", 62], ["don", 61], ["now", 60], ["turtle", 59], ["began", 58], ["by", 58], ["my", 58], ["ll", 57], ["an", 57], ["its", 57], ["hatter", 56], ["way", 56], ["mock", 56], ["quite", 55], ["gryphon", 55], ["are", 54], ["think", 53], ["their", 52], ["just", 52], ["say", 51], ["rabbit", 51], ["here", 51], ["first", 51], ["some", 51], ["much", 51], ["go", 50], ["only", 50], ["head", 50],(以下略)
----------word end ----------
----------char start----------
[["e", 13576], ["t", 10689], ["a", 8791], ["o", 8145], ["i", 7515], ["h", 7375], ["n", 7016], ["s", 6501], ["r", 5438], ["d", 4931], ["l", 4716], ["u", 3468], ["w", 2676], ["g", 2531], ["c", 2399], ["y", 2262], ["m", 2107], ["f", 2001], ["p", 1524], ["b", 1475], ["k", 1158], ["v", 846], ["q", 209], ["x", 148], ["j", 146], ["z", 78], ["_", 4], ["0", 1], ["3", 1]]
----------char end ----------

これだと、koike'sのsとかcan'tのtがひとつの単語として拾われてビミョウやんなW
まあええかW

0000:QQ

九九 | Aizu Online Judge

※適当なことを書くので参考にしないでください。

決まった回数の繰り返しと出力するだけの簡単なお仕事です。

みなさんの回答を読んでみます。

右上をクリックすると開発環境がなくても実行できるサイトに飛びます。
f:id:koike_e3:20151220234821p:plain


ぼくの書いたものと全く同じです。
timesだとイテレータが0からはじまるので出力の式展開ではプラス1しないといけません。
putsは最後に改行してくれますね。


iとjがとってほしい値を配列に書いています。辞書を作ってるイメージでしょうか。
単純に1ずつ増えるものをわざわざ配列で書き上げるのはどうなんですかね。
printなので改行(\n)を入れないと続けて出力されます。


これはi,jを範囲指定しています。
範囲の表し方はふたつあって、
".."だと終端を含み、"..."だと終端を含みません。
つまり、ひとつ前の配列で表すと
1..10 => [1,2,3,4,5,6,7,8,9,10]
1...10 => [1,2,3,4,5,6,7,8,9]
になります。
printfはC言語の関数ですが、Rubyでも使えます。
ちなみに入力の関数scanfも使えます。


minとmaxを整数として、
min.upto(max)はminからmaxまで1ずつ増えていきます。
max.downto(min)はmaxからminまで1ずつ減っていきます。
増加減少の幅を1以外(少数とか)に指定したいときはstepです。(書くのめんどい)


eachは便利です。
範囲aを小さいほうから順にそれぞれにたいして繰り返しています。


こんな感じですかね。
ほかの人の書いたコードを読むのは勉強になる気がします。

でもこうまとめてみると時間がかかるから飽きたら読むだけにしよW


おわり

おかねのかからないしゅみであるところのぷよぐやみんぐのおべんきょ

ITベンチャーのオタクに某カンファレンスの発表動画見せられてすごいなぁっつった。
イーサンも聞きにいってみたい感じあるけど知識も技術も伴わない悲しさがあるねんな。
発表内容がそれなりに理解できるくらいにはなりたいやんな。

ってことで、卒研でかじったRubyって言語を
AIZU ONLINE JUDGE: Programming Challenge
で遊びつつおべんきょしようかなっつってる。
お金のかからない良い趣味やでな。

これから問題のメモ書くよーーーー(^O^)/

※イーサンは情報畑の出身じゃないし初心者なので適当なことを書きます。

Thinkpad X220をパワーアップしたよーーーー(^O^)/

 

koike-e3.hatenablog.jp

の続きだよーーーー(^O^)/
 
 

開封の儀!

f:id:koike_e3:20151215225541j:image
 
さっそく換装するよーーーー(^O^)/
 
まずはメモリ!
ネジをふたつ外すだけだよーーーー!
カチカチっとハメておわり!(2分)
f:id:koike_e3:20151215225545j:image
 
つぎにSSD
ネジをひとつ外すと本体からマウンタに入ったHDDを引っ張り出せるよーーーー!
マウンタのネジを4つ外してHDDとSSDを入れ替えーーーー!(5分)
f:id:koike_e3:20151215225548j:image
黒くてX220たんにお似合いやんなW
 
Thinkpadの換装しやすさでおちんちん勃っちゃったW
 
OSもクリーンインストールしたよーーーー

f:id:koike_e3:20151215234257p:plain

f:id:koike_e3:20151215234519p:plain

 

メモリもSSDもちゃんと認識してくれてイーサン安心したーーーー

 

X220ちゃんの赤乳首ちゅっちゅ(⋈◍>◡<◍)。✧♡

Thinkpad X220をパワーアップするよーーーー

アマゾン見てたらタイムセールやってたから買っちゃったー!
(2015/12/13夜に注文)

まずSSD

9864円!

次にメモリ!

SP シリコンパワー ノートPC用メモリ 8GB×2枚組 DDR3-1600 PC3-12800 SO-DIMM(無期限保証) SP016GBSTU160N22

SP シリコンパワー ノートPC用メモリ 8GB×2枚組 DDR3-1600 PC3-12800 SO-DIMM(無期限保証) SP016GBSTU160N22

8975円!

届くの楽しみーーーー☆*:.。. o(≧▽≦)o .。.:*☆


届くまで前のノーヨからメモリ取って移植しておこうと思ったらドライバー無くてできないアハハ
引っ越しで捨てちゃったかなテヘペロ(笑)

Thinkpad X220を買ったよーーーー(^O^)/

さっそくお布団の上で使ってゆ(^O^)/



パソコン買おうと思ってアキバでキバキバしてきたよーーーー

買ったのはThinkpad X220!
PC-NET秋葉原中央口店で19800円だったよ。
パームレストが割れてるけど3000円くらいで替えが買えるしまぁいっかーって感じ(笑)

標準のOSはWindows7pro32bitなのになぜか64bit入っててラッキー!
64bitのOS買おうとしてたから1万円くらい浮いてうれしーーーー

てことでWindows10pro64bitいれたよー
f:id:koike_e3:20151213152559p:plain

あとはーー
メモリを16GBにしてーーー
SSDに変えてーーー(なんGBにしよっかなー)
OSで浮いた分でmSATASSDもつけちゃおーーーー!!!(これもなんGBにしよーーーー)

X220ちゃんの赤乳首チュッチュ(照)

おわり

読書の秋だよーーーー

おひさしブリーフW
小池イーサンです。

読書の秋ということで本の感想を書きます。(もう冬だよ)

リンクにアフィリエイトは仕込んでいないので安心してアクセスしてください。

中学生の妹に理科を教えるために買いました。
といっても、以前に読んだことがあって、
大学4年の夏休みに図書館でブルーバックスを読み漁ったなかのひとつです。(ふたつです(当時読んだのは旧版でした))
中学理科の検定教科書から抜けているけれど、中学生にわかってほしい内容が書かれているようです。
コラム形式でひとつのテーマが2-3ページで書かれていてテンポよく読めます。
物理・化学編は高校でやる内容の簡単な説明が中心(といっても身近なものの原理も書いてあります(ノイズキャンセルヘッドフォン、コピー機、ICカードなど))
生物・地球・宇宙編はより身近な題材が多い印象です。

各分野で個人的に面白かったテーマをひとつずつ紹介します。
思い出しながら書いているのでわかりにくいと思いますが、
本にはわかりやすく書いてあるので安心してください。
(間違って覚えている可能性もあります)

■物理
ピカピカの針を束ねて上から見ると、針と針の間が真っ黒に見えます。
針に反射した光がまた針に反射して・・・を繰り返して中のほうに進むのですが、
反射するときに光がいくらかは吸収されてしまいます。
何度も反射を繰り返すうちにすべて吸収されてしまい、結果、真っ黒に見えます。

■化学
天かすで自然発火することがあります。
高温の油で揚げられたても天かすは直ちに発火することはありません。
しかし、天かすをこんもりと山盛りにされていたとしましょう。
間に空気が入り、酸素によって天かすは酸化し、熱が発生します。
山盛りですから熱の逃げ場がなく、油の発火温度を超えてしまうことがあります。
揚げたての揚げ物を一か所にまとめておくのは危ないですね。

■生物
ラクダは太陽のほうを向いて休みます。
太陽に照らされる面積を減らすためです。
砂漠地帯の動物はある方向から見ると細長くなっています。
ラクダのおしっこはめっちゃ濃いです。体内の水分をなるべく逃がさないためです。
また、脚におしっこをかけて、気化熱で身体を冷やす工夫までしています。

■地球
■宇宙

めんどくさくなったのでおわり

またねーーーー