2019-01-01から1ヶ月間の記事一覧

日付の2進数変換

awk

awkは必要最小限の関数しか用意されていません。 perlのreverseとか2進数に変換するのもないので、全て自前で作る必要があります。 これは、逆にアルゴリズムを勉強するチャンスです。 では、問題です。 年月をYYYYMMDDの8桁の整数で表したとき、これを2進…

(改造版)コラッツの予想

awk

さて、今回もawkでパズルを解いてみます。 コラッツの予想 自然数nについて、 ・nが偶数の場合、nを2で割る ・nが奇数の場合、nに3をかけて1を足す という操作を繰り返すとき、初期値がどんな数であっても必ず1に到達する (1→4→2→1のように繰り返す) この予…

いまだに現金払い?

awk

さて、今回もawkでパズルを解いてみることにする。 10円玉、50円玉、100円玉、500円玉の組み合わせに両替できる機械がある。 最大で15枚になるように両替します。 1000円札を入れたときに出てくる硬貨の組み合わせは何通りあるかを求めよ。 なお、硬貨の順番…

組織の中で生きる

新選組血風録読了。 恥ずかしながら、新選組に対する知識が全く無かったので、これを機会に読んでみることに。 組織の中で生きることは昔も今も難しい事を実感した。 嫉妬、虚栄心、女・・・様々な事柄が交錯して組織の中で生きていく。 新選組は良くも悪く…

好奇心と成長

ご冗談でしょう。ファイマンさん 読了。 ノーベル賞受賞のファイマンによる自伝。 彼は好奇心の塊である。 色々なものに興味を抱き、疑問があればそれを様々な方法で解決する事で知識を増やしていった。 好奇心が彼の成長を伸ばしていった。 年を重ねると、…

カードを裏返せ

awk

awkでパズルを解いてみる。 Q.1〜100までの番号が書かれた100枚のカードが順番に並べてあります。 最初、すべてのカードは裏返しの状態でおかれています。 ある人が2番のカードから、1枚おきにカードを裏返していきます。 すると、2,4,6・・・,100番のカードが…

ゆうちょ通帳の憂鬱

あーこれで、何回目だろう? ゆうちょの通帳の磁気を直さないといけないのは・・・ 通帳を新たに作り直してもらっても、やはり駄目だった。 わしには磁気を弱める何かがあるのか? 通帳があるのに、入金出来ないってありえない!! ATMにいくたびにドキドキ…

秘密無くすべからず

島崎藤村「破壊」読了。 自分が部落差別出身者であることを隠すように親から言われて、その葛藤に悩む主人公の心情を描いた作品。 子供の頃から読みたいと思いながら、手が出なかった島崎藤村の大作である。 私も子供ころから人には言えない秘密は多々あった…

10進数で回分(awk)

awk

逆から数字を読んでも同じ数になる数のことを「回分数」と呼びます。 例えば、「123454321」のような数のことをです。 問題 10進数、2進数、8進数のいずれかで表現しても回分数となる数のうち、10進数の10以上で最小の値を求めてください。 awkには10進数を8…

天才たちの攻防

現代暗号入門 現代暗号入門 いかにして秘密は守られるのか読了。 数学を使った暗号入門。 内容は暗号初心者には難しめ。 ただし、説明はかなり詳しく記述されている。 暗号に興味のある人にはお薦めの1冊である。 最強の暗号作成する天才たち。 そして、その…

Four Four's(awk)

awk

[問題] Four Four's 数字 4 を 4 つと+, -, ×, ÷, (, ) を使って、答えが 1 から 10 になる式を作りなさい。 数字は 4 だけです。 なかなか難問です。 perlにはevalがありますが、awkにはevalのようなものはありませんので、逆ポーランド記法を実装して…