ファイル名一括変更

perlネタ 仕事で、ファイル名を一括変更する必要があり、作ってみた。 use strict; use warnings; use File::Copy 'move'; my ($dir, $from, $to) = @ARGV; chdir $dir or die "NG $dir:$!"; my @all_files = glob "*.pdf"; my $to_all_file; foreach my $al…

ドラゴンカーブ

awk

awkネタ ドラゴンカーブ 同じ向きに何回も折り曲げ、折り目が直角になるように開いて出来る曲線 この曲線は自分自身と接することはあっても交わりはしない。 描き始めた点を中心として90度、180度、270度開園して出来る曲線は元の曲線と交わらない 位数order…

石取りゲーム2

awk

awkネタ 前回と同様に、一山の石から交互に石を取る。 取る石の数は、相手が直前に取った石の数の2倍を超えてはならない。 最後に石を取ったものの勝ち。 ただし、最初に全部の石を取ってはならならい。 パスは出来ない。 #!/usr/bin/awk -f BEGIN{ f[1] = …

石取りゲーム1

awk

awkネタ 一山の石から交互に石を取る。最後に石を取ったものが負け。 1回に取れる最大数は予め決めておく。パスは出来ない。 コンピュータは次のように考える。例えば1回に取れる最大数を3個とする。 相手が1,2,3個取ればそれぞれ3,2,1個取るこ…

人の気持ちは分からないぐらいが丁度いい

家族八景 家族八景読了。 恥ずかしながら、著者の筒井康隆はこの作品で初めて知った。 小飼弾さんが、「筒井康隆」は最高!と著書で述べていたので、「弾さんがそういうなら間違いない!」と思って購入。 予想以上に面白かった。 こんな本を今まで見逃してい…

ブラックジャックで大儲け?

perlとawkネタ カジノの定番、ブラックジャック。 ゲームを1回行うには、最低1枚コインが必要です。 勝てば2枚のコインを得られますが、負けると掛けたコインが没収されます。 最初に1枚だけコインを持っており、1枚ずつ掛けていったとき、ゲームを4回…

排他的論理和で作る三角形

awk

awkネタ 有名な「パスカルの三角形」は「右上の数と左上の数の和」を配置していきますが、今回は「排他的論理和」を使います。 01段目:1 02段目:11 03段目:101 04段目:1111 05段目:10001 06段目:110011 07段目:1010101 08段目:11111111 09段目:1000…

人生を変えた言語

「シェル芸」に効く!AWK処方箋 「シェル芸」に効く!AWK処方箋 読了 目次 第1章 簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう 第2章 シェルコマンドを使った処理の効率化はAWKの行(レコード)走査がカギをにぎる 第3章 AWKプログラミング…

生きるためには~し続けなければならい

破天荒フェニックス オンデーズ再生物語 破天荒フェニックス オンデーズ再生物語 読了。 眼鏡屋オンデーズをどのようにして再生していったのかが分かる半分フィクションの小説。 まー、この手の話はどうしても美化されがちなので、そのまま鵜呑みには出来な…

30人31脚に挑戦!

awk

awkネタ 「30人31脚」を有利に戦うための並べ方を考えます。 女の子が続いて並ぶと体力的に不利なので、女の子は隣り合わないようにします。 (男の子は何人並んでもよいものとします) 30人を1列に並べる時、その並べ方が何通りあるかを求めてください。 男女…

日本の技術力

世界史とつなげて学べ 超日本史 世界史とつなげて学べ超日本史読了。 世界史の予備校講師の書いた日本史の本。 日本史を学びたかったから、読んでみた。 外交中心の話題が沢山出てくる。 日本と他国がどのように結びついてきたのか、よく分かる。 第1章 そ…

AIよ。もっと頑張れ

人工知能は人間を超えるか 「人工知能は人間を超えるか」読了。 今流行りの人工知能を扱った入門書。 目次 序 章 広がる人工知能――人工知能は人類を滅ぼすか 第1章 人工知能とは何か――専門家と世間の認識のズレ 第2章 「推論」と「探索」の時代――第1次AIブー…

3本のひもで作る四角形

awk

awkネタ 同じ長さの3本のひもを折り曲げて3つの四角形を作ります。 そのうち2本でそれぞれ長方形を作り、残りの1本は正方形を作ります。 このとき、作った2つの長方形の面積の和が、正方形の面積と同じになることがあります。 (ただし、いずれの長方形、正…

暗号作成者と暗号解読者との闘い

暗号解読 サイモン・シン 暗号解読読了。 暗号についてこれほど分かりやすく解説された本は無いと言えるほど、分かりやすい。 終始暗号作成者と暗号解読者の闘いが述べられている。 ネタバレを言うと最後は量子コンピュータの話題に触れており、暗号作成者の…

圧倒的努力

たった一人の熱狂 「たった一人の熱狂」読了 幻冬社の社長である見城徹によるビジネスや考えがここに詰まっている。 彼はこの本の中に圧倒的努力を何回も述べている。 とにかく努力!努力!のオンパレード。 人が成功する最短の方法は圧倒的努力をこれでもか…

階段で立ち話

awk

awkネタ ある階段を下からAさんが上がっていくと同時に、上からBさんが降りてきます。 階段は1段ずつ上がる(降りる)必要はなく、最大で3段まで飛ばして進む(一気に 4段進む)ことが出来ます。 ただし、何段飛ばすときも、1回の移動にかかる時間は同じとします…

自殺防止マニュアル

キッチン キッチン読了。 著者の事は名前だけ知っていたが、彼女の作品は初めて読んだ。 この作品は死について考えさせられる。 死そのものではなく、死んだ後に残された家族の心情を深く描写された作品。 死ぬのは怖くない。しかし、その後に残された家族や…

W杯出場国しりとり

awk

awkネタ 2014年の大会の出場国でしりとりしましょう。 2014年大会の出場国は32か国です。 2014年FIFAワールドカップ出場国 国名 国名 国名 Brazil Croatia Mexico Cameroon Spain Netherlands Chile Australia Colombia Greece Cote d'lvoire Japan Uruguay …

フィボナッチ数列(awk版)

awk

さて、以前の問題をperlで解いていましたが、awkで解き直してみました。 まずは、これ。 utthi-fumi.hatenablog.com #!/usr/bin/gawk -f BEGIN{ PREC = 100; before = 0; cnt = 0; n = 1; while(1){ fibona = fibo(n); fibo_div = fibona / sp(fibona); if(f…

覆面算を満たすのは何通り?

awk

awkネタ 覆面算とは、文字列で表された計算式で、同じ文字には同じ数字がはいり、違う文字には違う数字が入ります。 また、最上位の文字には0は入りません。 例えば、 We × love = CodeIQ という式が与えられた時、以下のように当てはめることができます。 W…

平方根の数字

awk

awkネタ 平方根を小数で表したときに、0~9までの数字が最も早くすべて現れる最小の整数を求めて下さい。 ただし、ここでは正の平方根のみを対象とします。 整数部分を含む場合と、小数部分のみの場合のそれぞれについて求めて下さい。 例)2の平方根:1.414…

フィボナッチ数列

プログラミングネタ フィボナッチ数列のうち、各桁の数字を足した数で割り切れる数を以下の例に続けて小さいほうから5個求めてください。 2 → 2 ÷ 2 3 → 3 ÷ 3 5 → 5 ÷ 5 8 → 8 ÷ 8 21 → 21 ÷ 3・・・2 + 1= 3で割る 144 → 144 ÷ 9・・・1 + 4 + 4 = 9で割る…

何も考えずに突き進め。組織論の教科書

燃えよ剣読了。 新選組の土方歳三の生涯がこれで分かる。 前作がサイドストーリーなら今作品は本編といえるだろう。 恥ずかしながらこの年になるまで、新選組の事は知らなかった。 この主人公の土方歳三の名前さえ知らなかった。 彼の生きざまを見たときに、…

ルーレットの最大値

さて、今まではawkを使ってパズルを解いてきましたが、今回はperlで解いてみたいと思います。 なかなかawkと違ってperlは汎用性のある分、覚えることが多いのですが、それだけ応用も効くということでしょうか。 では、早速やってみましょう。 ルーレットの数…

つりあわない男女

awk

さて、今回もawkでパズルを解いてみます。 perlでやろうと思ったのですが、出来なかったので、awkに戻ってきてしまいました。(^^)/ あるイベント会場に男女が集まてきました。 到着した順番に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円札を入れたときに出てくる硬貨の組み合わせは何通りあるかを求めよ。 なお、硬貨の順番…

組織の中で生きる

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

好奇心と成長

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