Make10といえば、四桁の数値で10を作る。電車に乗って切符の番号で遊んだものです。レシート作成スクリプト
でも、なんで四桁?
実は車のナンバーでもよくやるんですが、車だと三桁とかもある。そして、その三桁がのこりの桁に0をいれて四桁にするのか、三桁の扱いか、四桁でも途中にゼロがあると、、
第一、イニシャルDで言えば、ナンバーは五桁だし。あ、リアルでも原付はそうか、、、
ということで、四桁にこだわらずにmake10の答えを導くアルゴリズムをアップしました。
(20220313加筆)近くの人から、抜けてるアルゴリズムがあるよ、と指摘を受けました。うー、よく見ると確かに。そして、その場合は、四桁以外の総当たりのアルゴリズムは結構しんどいことが判明、、、むぅ、、ということで、一旦リンクをはずします。ブツはアップしっぱなしなんで、想像いただければ、ダウンロードはできます。
(20220313加筆その2)
修正しました。四桁のときは、「(((a b) c) d)もしくは(a b) (c d)」(スペースに演算子)の二通りの総当たり。
五桁の時は「((((a b) c) d) e)もしくは(a b c) (d e)」(スペースに演算子)の二通りの総当たり。
五桁の後者が、これだけでフルカバーしているか、だんだん心配になってきましたが、色々考えるとおそらくはこれでカバーされるはず、、、と思っています。
いずれにしても、桁が増えると、回答が出しやすくなる傾向になりますので、まぁよいか。。。なので六桁以上は、左から処理していく結果のみの表示になっています。
そして、今回の修正に合わせ、数点修正を加えました。
まず、Make10ではありますが、10以外の答えを出せるようにします。
引数は、回答を求めたい数値だけ(一つ)にしたら、10を求めます。その後ろに、もう一つ整数を入れた場合は、その数値を出しに行ってくれます。
これで、暇つぶしの幅がひろがります。
数値以外を入れた場合は、修正の方はめんどくさいので例外処理で書きました。(本当は、例外出させずに検証して処理するのが清く正しいのですが。)
四桁とか決まっていると、やっぱりコードはとってもシンプルになっていいですね。
そして、本当は上記abとbaは、足すと掛けるは変わりないのですが、その辺の整理はしませんでした。そのかわり、同じ数字がいくつかある時は、同じ答えが重なりますので、それらはねぐるようにしまいた。
そのために、当初は、Stringを戻すmktn()だったのですが、voidにして、そのかわり、Listを参照で渡して書き換えてもらうことにしました。
今度こそ大丈夫かな、、、
順列のリストは、Heapアルゴリズムという素敵なものがあることを知りました。
Heapアルゴリズムを転用できるようにクラスをパッケージにしたもので作ってあります。
でも使いにくいかもしれなので、同じクラスで決着つけるのもおいときます。(2022年)
子供関係で、領収書作成担当になりました。引き継いだフォーマットがなんとExcel・・・って、困った。マイクロソフトのソフトは、原則使わないポリシーなので。。。といっても、Windows環境だけはやむを得ず持ってたりしますが・・・
編集しなくてもらったままで印刷するなら、MSが無料頒布してるViewerでいいですし、単なる文書編集なら、OpenOffice(Oo)でもことたりますが、フォーマットが重要なケースでは、Ooでそこまでリソース割くより、スクラッチからHTML形式に起こす方が楽やねぇ。ということで、通常の人であれば、ほぼ問題ないであろうと言う環境で引き継げるように作ってみた。(2011年)
Webアプリで、カレンダーだけポップアップさせたい、と言われたんで作りました。JavaScript必須です。(2001年)
昔から、有機化学教室では、沸点換算表と言うのが必携でした。本に曲線が載っていて、定規をあてて。。。とかやったり、Mac用にはツールもあったり (Windows用もあるみたいですが、持ってなかった)してたんですが、これ、化工便覧によると、Hildebrandという式を使うんだ、といって、 式がでていました。ちゅうわけで、こいつを拝借しました。
やってみたけど・・・うーん、いまいち合わんですね。ま、そういうもんなんでしょうが・・・(2001年)同僚が本ページを見た、と言ってくれた。で、、、蒸留計算したら動かない・・・何故だ、、、計算エンジンがリセットされている・・・訳わからんが、とにかくもどしてみた。 あとは、、、テキストもアップしとく。ダウンロードして、htmで保存すれば、ローカルでも動くはずです。
化学では、あの・・・H2Oとか、数字は下付になります。私は別に、下付になってなくたって、見りゃ判るんだから気にしてなかったんですが、ある人から「ちゃんと下付にしろよ、見難いぢゃねぇか」
といわれて、面倒なんで一気にカタをつけるマクロを作りました。人様に出す時しか使ってません。(1997年)