2020-01-01から1年間の記事一覧

アルゴリズム入門(フィボナッチ数列)

awk

フィボナッチ数列とは「直前の2つの項を足し合わせてできる数列のことで 【1,1,2,3,5,8,13,21・・・】 と無限に続きます。(1+1=2、1+2=3,2+3=5,3+5=8,・・・) このフィボナッチ数列をプラグラムで求めてみましょ…

ワシの.vimrc

vim

新たにlubuntu20.04をインストールしたので、ワシの.vimrcも再設定 防備録として 最低限の設定のみ "--------------------------------------------------------------------------- " 検索の挙動に関する設定: " " 検索時に大文字小文字を無視 (noignorecas…

アルゴリズム入門(素数)

awk

素数は、1とその数以外に約数を持たない数のことです。 ある数が素数かどうかを判定するには、約数の個数を調べます。 約数は、その数以下の自然数で割って、割り切れるか調べると求められます。 「10」の約数を見つけるには、1から順に10まで割ってみればい…

アルゴリズム入門(基数変換)

awk

私達人間は0〜9の10個の数字を使った10進数を使うことが一般的です。 それに対し、コンピュータは2進数で動いています。 2進数は0と1の2つの数字だけを使った表現する方法です。 つまり、0,1,10,11,100,101,110,111,1000,・・・のように桁が増えていきます。…

アルゴリズム入門(自動販売機でお釣りを計算)

awk

今回は、単純な自動販売機を考えてみます。 自動販売機は、投入した金額と購入したい商品の金額を比較して、投入した金額が商品の金額と同じ、または投入した金額のほうが多ければ商品を購入出来ます。 そして、投入した金額のほうが多かった場合はお釣りを…

アルゴリズム入門(FizzBuzz)

awk

企業がプログラマを採用する場面で「プログラムを書けるプログラマ」を見分けるためのテストとして知られる問題にFizzBuzzがあります。 これは、次のようなプログラムを作成する問題です。 1から100までの数を順に出力するプログラムを作成しなさい。 ただし…

ライフゲーム

awk

ライフゲームです。 ルールは下記のウィキペディアをご参照下さい。 ja.wikipedia.org #!/usr/bin/awk -f BEGIN{ N = 22; # 縦方向 M = 78; # 横方向 a[N / 2][M / 2] = a[N / 2 - 1][M / 2] = a[N / 2 + 1][M / 2]\ = a[N / 2][M / 2 - 1] = a[N / 2 - 1][m…

円周率を近似できる分数

awk

小学校で学ぶ円周率。 無限に続く循環しない小数で、既約分数で表せないということはよく知られています。 一方で、ゆとり教育において「円周率を3として計算する?」といった事が話題になりました。 実際には「3.14」が多く使われていますが、古くから分数…

ハノイの塔

awk

ハノイの塔でプログラミングするというのは、比較的よく見られますね。 最近ですと、FIzzBuzzでしょうか。 再帰の勉強になるということで、awk版を作成してみました。 #!/usr/bin/awk -f # ハノイの等 BEGIN{ ARGC == 2 ? n = ARGV[1] : n = 3; printf("円盤…

Term::ReadLine::Gnu インストール

久々のperlネタ パソコンで電卓を叩く時、私は perl -de 0; とするのですが、残念ながらperlのデバッガにはデフォルトでヒストリー機能がついていない。 Term::ReadLine::Gnuをcpanから入れると、ヒストリー機能が使えるのだが、インストールするのに手間取…