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のブログは全てWordPressを使っている。

サーバーのドメインを昨年にma-21.netからma-21.comに変更、そして今回ma-2.comへ変えたわけだが、ブログに埋め込まれている画像データのアドレスはそのときのブログのドメインが使われている。

これを一つ一つ直していくというのは気の遠くなる話だ。

そこでWordPressのプラグインツールとして、「SearchRegex」を導入している。

image

一瞬で、文字列の変換ができる便利モノだ。

今回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のhttpd.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に通知してやること。これだけのことだった。

ちなみにIPアドレスをお名前.comに通知するのはフリーソフト「DiCE」を使っている。DiCE DynamicDNS Client

ここ三日ほど、メインのパソコンが起動しなくなった。というかリセットをかけると2度目は起動するので、初回起動に失敗するようになったと書く方が正確か。

とにかくBIOSが起動して、WINDOWSのロゴまでは出るのだが、その後、モニタへの出力が消え、ウンともスンともという状態だ。

2度目は起動するし、その後おかしな動きをするわけではないので、ハードディスクやマザーは問題なさそう…、となるとアヤシいのは電源だ。

1年半前にマイナーなBTOメーカーから購入したこのパソコン、調べてみるとかなり安価な電源(その名も明智光秀)が使用されている模様。

そこでKEIANというメーカーの「GORI-MAX2」 を購入。KT-S650-12A パッケージ

BULLーMAX2という商品もあり、この手の安価な電源のことを自作マニアは動物電源と呼び、小バカにしているそうな。

まぁ私はこれで十分と思っている。

 

さて、交換…

久々にケースを開ける。中のホコリが凄い。特にCPUクーラーのファン、その下のヒートシンクあたりにかなりホコリが詰まっている。さらに吸気ファン前のフィルタや排気ファンにもかなりのホコリが。ハンドクリーナーでホコリを吸い取る。きれいになると気持ちよい。ちなみに私は洗濯機のホコリフィルター掃除も好きである。けっしてきれい好きではないのだが(むしろ掃除は嫌いなのだが)、成果が見えるコノ手の清掃は快感を覚える。

 

清掃して新しい電源に取り替えたわけだが…。やはり1度目は起動しない。

電源の問題ではなかったようだ。

いろいろとググってみた。SATAのケーブルの差し込みとか、マザーの電池とか、コンセントの位置(たこ足排除)とか、いろいろ試してみたのだが、どれも違う。

けっきょく原因は、12月に購入した外付けのHDDで有ることが判明。起動停止後にHDDからのUSBケーブルを抜くとあっさり起動した。

WINDOWSロゴの後は、USB関連の電源チェックという話は、ネット上に上がっていたのだが、しっかり切り分けができていなかった。HDD自体には専用の電源を取っていたので、まさか起動の際の電源不足に関与するとは思わなかったのだ。

一つ勉強になった。そしてPCはきれいになった。よしとしよう。

201301XZ-003

201301XZ-008201301XZ-010

今年も初日の出を自宅にいながら見ることができる幸せをかみしめる。

201212XZ-106_thumb201212XZ-112_thumb

___[朝の散歩 少しの間だけ妙高山が赤く照らされた]

201212XZ-136201212XZ-173

___[出発まで1時間あまり 雪遊び]

 

201212XZ-142201212XZ-146

___[放置しておくと危ないので、作ったかまくらをつぶす]

201212XZ-156201212XZ-164

 

ペンションを出発後、温泉施設に立ち寄り身体を温める。その後、妙高高原駅へ移動してお土産購入。ここでチェーンを外す。

そして野尻湖に移動して博物館を見学し、昼食を取って、信濃町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時前だともっと安くなる)。201212XZ-033

名神、中央道と通る。恵那山トンネルを抜けて伊那路に入るあたりから路肩に雪が見えるが、まったく路面は問題なし。姨捨SAで昼食後も長野道・上越道と順調に走り、昼過ぎに妙高高原ICに到着。

インターを出てすぐのチェーン着脱場でこの旅行のために買い換えたチェーンを着ける。上娘「まっちゃ」も前日にDVDで予習していたので、一緒に作業した。

201212XZ-036201212XZ-039

ICから10分ほどでペンションに到着。早めのチェックイン。事前に「かまくら」を作りたい旨を連絡しておいたので、スコップを借り、ペンション前の空き地を紹介してもらった。

2時過ぎから作業開始。

201212XZ-043___[まず空き地へのアプローチ作り]

201212XZ-047201212XZ-045

___[雪をどんどんと積み上げていく]

201212XZ-052201212XZ-053

___[3時過ぎに陽が傾いてきた頃、横穴を開け始める]

 

かまくら

201212XZ-073___[横穴から掘り下げて拡げていく。4時過ぎに完成!]

201212XZ-081201212XZ-099

___[夜の散歩 満月の明かりで仄明るく歩きやすかった]

image

壊れかけの‥‥というか使用不能のナビの続きです。

android端末をナビ代わりに使用することにしました。色々と部材を仕入れ、アプリを入れ、運用しかけました。

 

従来のナビはバックモニタとしての役割があります。

ところが‥‥

先日、未修理で戻ってきたナビをディーラーに着けてもらったのですが‥‥

バックモニタ表示の際、「このナビを新しい車に付け替えましたか? はい いいえ」というメッセージダイアログが出ます。ナビを外して着け直したわけですから当たり前なのですが‥‥。唯一のインターフェースであるタッチパネルが効かない状態でこのメッセージが出続けるということは、バックモニタとしてろくに使用できないということです。

ナビの修理中、コンビニの出入りなどでバックモニタの有り難みを実感していただけに、有るのに使えないというのは何とも歯がゆいです。

 

一方でandroid端末のナビ化も欠点がクローズアップされてきました。

◆ 欠点

・端末のGPSのみで位置を特定するため、精度が専用ナビより若干低く市街地ではルート変更の案内が後手に回ることもある。

・設置する場所が限られ、固定が不安定で走行に支障をきたす恐れもある。

・電源管理はタスクアプリで車のバッテリと連動するようにはしたが、不安定

・音楽アプリとナビアプリの両立が難しい(切り替えのスムーズさに欠ける)

など、やってみると色々と問題が出てくるものです。

 

以上、2点の理由で、けっきょく専用のナビに戻すことにしました。

 

しかし、元のナビを修理するのではなく、中古のナビを自分で換装することにしました。

PC160023_thumb

まず今あるナビが付いているパネルを外してみました。

複数のネット情報によって、パネルの形状も、メーカーオプションナビか、ディーラーオプションナビか、によって変化することも知りました(というかナビの形状に合わせてパネルを交換している)。

外してみて付け替えることができそうだという実感を持ちました。

次にナビ背後のコネクタ類の状態を調べました。

購入しようとするナビのコネクタ配置が同じか確認するためです。一から考えて結線するスキルは持ち合わせていないので、2つのナビを並べて一つ一つコネクタを同じ位置に移してしまおうという作戦です。同じ時期のナビならほぼ形態が同じであることも確認できました。まぁやってからわかりましたが、コネクタ形状は間違えにくいようにそれぞれ形が違ってましたから、多少違うナビでもできたかもしれません。ただ初めての換装でそんなリスクも負いたくなかったので。

ということで、換装へのシナリオが描けたので、オクで落札(即決、送料込み15000円)。

 

技術的にはパソコンのHDDの換装程度なのですが、何せ作業場所がないのと、夜間にやったことと、老眼で細かい部分が見えないこと、などの理由でけっこう手間取りました。基本作業に1時間あまり、そのあとナビやバックモニタの設定に30分程度。

最初、自宅まわりを一周したら東西南北が真逆になっていたり、VICS情報が入らなかったり(夜間のためでした)、戸惑いました。

 

現在、何不自由なくナビもバックモニタも使えるようになりました。もちろんCD-Rからの曲も流れます。これにて一件落着。

パネルの外し方、コネクタ類の情報などネットの情報はたいへん助かりました。情報がなければ、やろうとは思わなかったでしょう。

今回の騒動で、車の電装関係のスキル向上とandroidのタスク関係を中心に理解が進んだことは、自分では良かったかな、と。

androidへの投資は‥‥無駄になりましたが、旅行などの際に最新の地図が使えるので、まぁ良し。

過去の記事