2つの数字の最大公約数と最小公倍数‥‥これをプログラム的にどうするのか考えて見た。
まず最大公約数を求めて、二つの数を最大公約数で割った商をかけ合わせれば最小公倍数になる。
そのためには、共通して割れる素数を見つけ、どんどん割っていけばよい。割れなければ次の素数へ、これを繰り返す作業だ。
二つの整数を a,bとする。
最大公約数になる数字をcとする。
二つの数字を共通して割れる数字(約数)をiとする。
表の右端は例として、a=48 b=36 の場合を表示している。[]内の数字はループの回数。
| コード | 説明 | 具体例 | |
| c=1 | 最大公約数の初期値は1 | ||
| i=2 | 約数の初期値は2 | ||
| Do | Loop まで繰り返す | ||
| If (((a mod i)=0) and ((b mod i)=0)) then | もし aもbもiで割り切れるなら 以下の処理をする |
[1]OK [2]OK [3]NG [4]OK |
|
| a=a/i | aをiで割る | [1] a=24 [2] a=12 [4] a=4 |
|
| b=b/i | bをiで割る | [1] b=18 [2] b=9 [4] b=3 |
|
| c=c*i | 最大公約数になるcをi倍する | [1] c=2 [2] c=4 [4] c=12 |
|
| else | a,bどちらかが i で割り切れないなら 以下の処理をする |
||
| If i=2 then | |||
| i=3 | 割る数を3,5,7,…と増やす | [3] i=3 | |
| Else | |||
| i=i+2 | ※ | [5] i=5 | |
| End if | |||
| End if | |||
| Loop until ((a<i) or (b<i)) | aかbが 割る数 i より 小さくなったら終わり |
[5] i=5 a=4,b=3 ループ終わり |
|
| print c | 最大公約数はc | c=12 | |
| print a*b*c | 最小公倍数はa*b*c | a=4、b=3 |
※ 本来ならiは素数なのだが、簡略化するために3以降は奇数にしている。
a=48 b=36 の場合、最大公約数は12、最小公倍数は144となる。
子供のころからずっと4つの数字の合計をしてきたが、最近はボケ防止に複雑な計算をしている。
たとえば 5708なら
(0は10として考えることにしている)
4個の数字の足し算 5+7+10+8=30
4個の数字のかけ算 5*7*10*8=2800
左右二つずつをかけ算して、その差(絶対値)を出す。
5*7-10*8→45
その値と4個の合計との最大公約数と最小公倍数。
45と30なので 15と90
最大公約数が大きな値になると何となく嬉しい。
今回ma-2.comにアドレスを統一したわけだが、今まで使っていたma-21.comもまだ数年は契約が残っている。
そこで、一つのサーバーで複数のドメインを使う実験をしてみた。
www.ma-21.comのDNS設定でAレコードを無効化、CNAMEをwww.ma-2.com に訂正した。
これで ma-21.com も ma-2.com も同じIPが振られることになる。
もちろん今まではDiCEによって両方のドメインをDDNSに通知していたので同じ事なのだが。
そしてサーバー側を二つのドメインごとにディレクトリ分けして、apacheのhttpssd.confで、バーチャルサーバー設定を追加した。
これで、両ドメインを独立して存在できることになった。
現在 www.ma-2.com は従来どおり。www.ma-21.comは実験用のトップページのみ置いている。
いままで独自ドメイン(ma-2.com)はgoogleAppsを利用して主にメールのみ使用していた。
ホームページのトップページこそ、googleAppsで作っていたものの、他のページは自宅サーバーに振ってあるma-21.comという違うドメインを利用していた。
Googleのサイトを利用しない理由は10Gまでの制限があることや修正が面倒であるためだ。
しかしトップページと他のページのドメイン名が微妙に違うというのも気持ちワルい。
そこで今回、ma-2.comに統一することにした。
具体的には、
1.新たにトップページを作ること
2.googleに振られているma-2.comのDNSを自宅サーバーに振り直すこと
この2点だった。
実は2.が不勉強で今までできないと思っていたのだが、DNSの設定を変更することであっさりできてしまった。
ポイントはドメインを管理しているお名前.comのレンタルDNS設定で、CNAMEでgoogleに振られていたものをAレコードで直接現在のIPアドレスを指定することだった。そしてサーバー側から変動するIPアドレスをお名前.comのDNSに通知してやること。これだけのことだった。
ここ三日ほど、メインのパソコンが起動しなくなった。というかリセットをかけると2度目は起動するので、初回起動に失敗するようになったと書く方が正確か。
とにかくBIOSが起動して、WINDOWSのロゴまでは出るのだが、その後、モニタへの出力が消え、ウンともスンともという状態だ。
2度目は起動するし、その後おかしな動きをするわけではないので、ハードディスクやマザーは問題なさそう…、となるとアヤシいのは電源だ。
1年半前にマイナーなBTOメーカーから購入したこのパソコン、調べてみるとかなり安価な電源(その名も明智光秀)が使用されている模様。
そこでKEIANというメーカーの「GORI-MAX2」 を購入。
BULLーMAX2という商品もあり、この手の安価な電源のことを自作マニアは動物電源と呼び、小バカにしているそうな。
まぁ私はこれで十分と思っている。
さて、交換…
久々にケースを開ける。中のホコリが凄い。特にCPUクーラーのファン、その下のヒートシンクあたりにかなりホコリが詰まっている。さらに吸気ファン前のフィルタや排気ファンにもかなりのホコリが。ハンドクリーナーでホコリを吸い取る。きれいになると気持ちよい。ちなみに私は洗濯機のホコリフィルター掃除も好きである。けっしてきれい好きではないのだが(むしろ掃除は嫌いなのだが)、成果が見えるコノ手の清掃は快感を覚える。
清掃して新しい電源に取り替えたわけだが…。やはり1度目は起動しない。
電源の問題ではなかったようだ。
いろいろとググってみた。SATAのケーブルの差し込みとか、マザーの電池とか、コンセントの位置(たこ足排除)とか、いろいろ試してみたのだが、どれも違う。
けっきょく原因は、12月に購入した外付けのHDDで有ることが判明。起動停止後にHDDからのUSBケーブルを抜くとあっさり起動した。
WINDOWSロゴの後は、USB関連の電源チェックという話は、ネット上に上がっていたのだが、しっかり切り分けができていなかった。HDD自体には専用の電源を取っていたので、まさか起動の際の電源不足に関与するとは思わなかったのだ。
一つ勉強になった。そしてPCはきれいになった。よしとしよう。
___[朝の散歩 少しの間だけ妙高山が赤く照らされた]
___[出発まで1時間あまり 雪遊び]


___[放置しておくと危ないので、作ったかまくらをつぶす]
ペンションを出発後、温泉施設に立ち寄り身体を温める。その後、妙高高原駅へ移動してお土産購入。ここでチェーンを外す。
そして野尻湖に移動して博物館を見学し、昼食を取って、信濃町ICから高速に乗る。まぁここまでは非常に順調だった。
しかし予報よりも早く天気が崩れはじめ、長野道あたりから雪が降り始める。そして中央道に入る前からチェーン規制がでる。みどり湖PAで再びチェーンを着ける。チェーンの制限で50キロ程度しかスピードが出せないのだが、まわりの車はみなスタッドレスタイヤなのだろう、雪のないトンネル内はばんばん飛ばしているので、左端に寄ってなるべく邪魔にならないように走る。
中央道に入るとさらに雪が増える。チェーンの凸凹が吸収されるのか、むしろ走りやすくなった。まわりの車も車速を落とし、50キロ程度が普通になる。
さて、中央道のチェーン規制は、恵那山トンネルを抜けた中津川ICまで続く。日本で5番目に長い8.5kmもあるトンネルをチェーンを着けて走るのは苦痛だなぁ、と思っていたら、トンネル前でチェーンを外す指示が出る。雪の量もかなり減っていたので、指示が無くても外して走ろうかと思っていたのでちょうど良かった‥‥。
と思ったら恵那山トンネルを抜けたところで、再びチェーンを着けるように指示が。しかしトンネルを抜けた側には雪はないのだが‥‥。先の指示はチェーンでトンネルの路面を痛めさせたくない、という思惑なのか。仕方なしにみぞれの中で2度目のチェーン装着。しかし、これは全く無意味だった。このあとはどんどん標高が下り、ついに路肩にさえ雪が無い状態に。夜が更けてくると凍結の恐れがあるということで早めのチェーン規制だったのだろうが、もうすこし弾力的に運用していただきたいものだ。
まぁトンネル出口のチェックは自己申告っぽかったので、スタッドレスだと言えば良かったのかもしれん。
そんなこんなで予定よりもかなり遅くなった。養老SAで夕食、秦荘PAで仮眠も取る。0時を回ると高速料金がさらに安くなるので、最後は桂川PAで時間調整をして、0時過ぎに帰宅。
2日間の走行距離1000km。
この冬は「かまくら」を作りに行ってきた。相棒「かいわれ」さんのかねてよりのリクエストである。
当初は前後夜行バスの4泊5日(実質3日)のツアーを申し込んでいたのだが、留守番となる「かんちゃ」の世話がどうにもならず、出発3日前にキャンセル。かわりに車で1泊2日で行くことになった。
行き先は雪の量が多いところ、つまり日本海側の豪雪地帯ということが条件になる。
事前に何カ所かの候補地に電話し、「かまくら」を作るほどの雪があるか、場所があるかを確認した。その結果、新潟県の妙高高原、赤倉温泉スキー場から少し離れた別荘地のペンションに決定した。
朝の5時過ぎに出発。6時までに高速に入ると料金が安くなるのである(ちなみに4時前だともっと安くなる)。![]()
名神、中央道と通る。恵那山トンネルを抜けて伊那路に入るあたりから路肩に雪が見えるが、まったく路面は問題なし。姨捨SAで昼食後も長野道・上越道と順調に走り、昼過ぎに妙高高原ICに到着。
インターを出てすぐのチェーン着脱場でこの旅行のために買い換えたチェーンを着ける。上娘「まっちゃ」も前日にDVDで予習していたので、一緒に作業した。
ICから10分ほどでペンションに到着。早めのチェックイン。事前に「かまくら」を作りたい旨を連絡しておいたので、スコップを借り、ペンション前の空き地を紹介してもらった。
2時過ぎから作業開始。


___[雪をどんどんと積み上げていく]
___[3時過ぎに陽が傾いてきた頃、横穴を開け始める]
___[横穴から掘り下げて拡げていく。4時過ぎに完成!]
___[夜の散歩 満月の明かりで仄明るく歩きやすかった]

