【問題】
3×3の魔法陣をVBAを使わずに作ってください。
もちろん式一つでできたら素晴らしいのですが、私はワークセルを
沢山使ってやっと実現できました。
ですから、条件はVBA禁止で後はなんでもありで行きます。
もちろん循環参照OK。また、字数がどうこうというコンテストではなく、
お互いの手法を鑑賞するということでいかがでしょうか。
説明は不要でしょうが、魔法陣とは1から升の数までの数字を9重複なく配置して
縦横斜めの合計がすべて等しくなる表です。
3×3の魔法陣では縦横斜めの合計が15になるように配置します。
3×3の魔法陣は対称形やら回転対称で8個あるのですが、
実質はここに例示した一通りだけですので、一つ作成できればOKです。
なお、4×4の魔法陣では、対称形を省いても880通り、
5×5は何通りあるか存じませんが無茶苦茶沢山あるはずです。
(y sakudaさん出題)
解答用参考ファイル:2010_Q58.lzhをダウンロード
**********************************************************************************
尚、解答発表は5/1(土)の午後8時の予定です。(状況によっては
変更される可能性があります)
それまでは直接数式を書き込むこと・ポイントとなる関数名を
書き込むことはご遠慮ください。
**********************************************************************************
あらっ、深夜の出題
しかし、これ、どなたか遊んでくれるかな・・・・・不安^^;
投稿情報: y sakuda | 2010年4 月27日 (火曜日) 午後 11時20分
>実質はここに例示した一通りだけですので
細かく言うと少々違うと思いますが、、、
まぁ、同じと捉えても差し支えないでしょうから、、、
しかし、問題を正しく理解出来ません
>実質はここに例示した一通りだけですので、一つ作成できればOKです
B2に入れた式をD4までコピーで
提示例と同じ数字が入れば良いのでしたら
>もちろん式一つでできたら素晴らしいのですが
これが理解出来ません
今までの問題で1番優しいです
故にわたしは問題の解釈を誤っていると思います
何か条件があるのでしょうか?
今の解釈では36文字で出来てしまいます
投稿情報: からくち | 2010年4 月28日 (水曜日) 午前 02時37分
>提示例と同じ数字が入れば良いのでしたら
魔法陣の特性、例えば3×3なら、各行、各列、斜めの合計はすべて15になるとかを
理論的に詰めて簡略化するのは自由ですが、予め数字の並び、例えば 276951438などを、
もろに、式に持ち込むのは反則とします。
例えば、159、168等、合計15になる数字の組み合わせを持ち込む等どこまでが良いのかは、
微妙なものがありますが、あくまでもExcelに魔法陣を見付けてもらうと言う趣旨です。
どちらにしろお遊びですから、面白ければなんでもありかな?
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午前 07時04分
理解力が乏しく、、、すみません
まだ良く理解出来ません
>予め数字の並び、例えば 276951438などを、
>もろに、式に持ち込むのは反則とします。
もろで無ければ数値を持ち込んでも良いのでしょうか
>例えば、159、168等、合計15になる数字の組み合わせを持ち込む等
では例えば、81831とか8214とか、この様な数値なら良いのでしょうか
でもこれでは殆んど変り無い様に思います
(厳密に言えば1文字違いで出来てしまう)
つまりは、、、違反なのでしょうけど
この違反の規定が???、、、何処までなのか、どのようなことまでなのか・・・
>あくまでもExcelに魔法陣を見付けてもらうと言う趣旨です。
最大の疑問がこれです
見つけて、、、もらう、、、とは???
理解力が、、、無い
と言うより、、、語学力が全く無い
文系は、、、ダメ
投稿情報: からくち | 2010年4 月28日 (水曜日) 午前 08時46分
なんか、以前、、だいぶ前ですが、
niさんがたと、遊んだことがあるような気がする。
niさーーーんん、、、、
どうだっけーーーー、、、
ところで、、
わたしも、自分が出した過去問を・・・・・
・・・・・・
自分で、問題の意味が、分からなかったりする。
で、ある程度、、勝手に、、条件を自分に課す。。。
>あくまでもExcelに魔法陣を見付けてもらうと言う趣旨です。
>どちらにしろお遊びですから、面白ければなんでもありかな?
で、、
今のところ、
ひとつの式を8セルコピーして、・・・・・
場合によって、複数解が出てくる式を、、、、
興味を持って、探りたい。・・・・無理かなーーー・・・・
投稿情報: jyo3 | 2010年4 月28日 (水曜日) 午前 11時39分
これも間違いなく違反なのでしょうけど、、、
F9を押すと8種類の数値のどれかに変わる式、、、142文字
面白いかと問われると、、、う~~~ん
>どちらにしろお遊びですから、面白ければなんでもありかな
>合計15になる数字の組み合わせを持ち込む等
これは、、、無し、、、と言える、、、かな
投稿情報: からくち | 2010年4 月28日 (水曜日) 午後 01時12分
イメージとしては、
「魔法陣の性質は知っていても、実際に作るのは大変⇒コンピュータでやらせる」
ですから、各行、各列の合計が15になるなどの性質は使っても
276951438
などの答えは利用しちゃいけないという意味です。
3×3の場合は中央には5がないとダメなどの特殊性は証明できますから、その辺を使うかどうかが
可不可のボーダーラインだと思います。
3×3の場合はこうやってつめて行くとすべて明らかになっちゃうかもしれませんが・・・・
ですから、理想的には4×4や5×5など大きな魔法陣にすぐに拡張できるロジックです。
私がやっているのは、一筆書きでは無理との判断で、循環参照による繰り返しを使い、魔法陣が
できた所で止めると言うことにしています。
3×3では約3000回繰り返したところで出来上がります。
もちろん同一ロジックで4×4に拡張できますが、現実には計算を繰り返し、100万回以上やっても
とてもじゃないけど終わりませんw
なんせ、式でやっていると、ループを途中で抜け出してスピードアップするのがなかなか難しいです。
なんとか、時間はかかっても常識の範囲の時間で4×4を一つ見つけられるものを作りたいものと思っていますが^^
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午後 07時11分
くまぷーさんが、、、とくいそうだなーーー
投稿情報: jyo3 | 2010年4 月28日 (水曜日) 午後 07時14分
とても正解、、、とは言えない、、、186
反復の限度まで行っても正解を得られない事の方が多い
偶然の一致を狙った、、、神頼み式
投稿情報: からくち | 2010年4 月28日 (水曜日) 午後 08時16分
>神頼み式
多分、8/9! ですから、なかなか難しいのではw
私はそっち方面は考えてません。
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午後 08時37分
>多分、8/9! ですから、なかなか難しいのではw
ん、、、、
あれが、ああで、こうだから、、、それ以外に、簡単な式で、、
1/9*8*7 のような気もするし
・・・・・・・・・
8/9!では、、、、むむーーーー大変だーーーー
投稿情報: jyo3 | 2010年4 月28日 (水曜日) 午後 09時04分
出題前のシートでは、魔法陣ができるまでの反復が2900ちょい
式はきれいにまとまってると思うのですが、いかんせん繰り返しが多すぎ。
で、今日は式の長さは置いておいて、反復回数のダイエットを試みました。
でも1400弱。つもりでは1/4近くまで減るはずだったんですが^^;
反復回数を1にして、ステップバイステップで確認してやっと原因が判明して、式はまた長くなりましたが、
800チョイまでダイエットできました。
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午後 09時19分
>くまぷーさんが、、、とくいそうだなーーー
確かに。
良く循環使っておられましたよね。
なかなか出てこないな・・・・・
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午後 09時24分
これ、魔法陣ではなく、魔方陣だそうです。
タイトルだけ正解。
投稿情報: 通りすがり | 2010年4 月28日 (水曜日) 午後 09時56分
>>くまぷーさんが、、、とくいそうだなーーー
>確かに。
>良く循環使っておられましたよね。
>なかなか出てこないな・・・・・
ただ今、かえって来ました。
今日は部活動の当番日で最後まで残っていて
帰りに夕飯を食べてウダウダしていたら今になってしまいました。
循環も面白そうだけど違う路線を考えています。(^^ゞ
投稿情報: くまぷー | 2010年4 月28日 (水曜日) 午後 10時34分
>これ、魔法陣ではなく、魔方陣だそうです。
そうですね。
魔法陣だとエロイムエッサイム~
投稿情報: くまぷー | 2010年4 月28日 (水曜日) 午後 10時37分
>これ、魔法陣ではなく、魔方陣だそうです。
ありゃま^^;
この問題のファイル作り初めてから変換ミスやってるの今まで気が付きませんでした^^;
面目ないm(__)m
ダイエット版のロジックを4×4に拡張してやってみました。
どちらにしろまともにやったら終わりませんから、早く収束するようちょっとズルをして(答えを知ってるからできるズル)
反復回数を最大にして、止まったらF9を押し続けて、反復40万回でやっと4×4の魔方陣ができました。
4×4の魔方陣なんか、昔から人間は簡単に作っていて、デューラーの版画にはその年を上辺に組み込んだ魔方陣があしらわれているくらいです。
人間の頭ってのはすごいですねーー
投稿情報: y sakuda | 2010年4 月28日 (水曜日) 午後 10時52分
4×4ですが、常識的な判定と4×4の魔方陣の特性を利用した判定を加えて無駄な試行をダイエットして
反復1700ちょっとでループが止まりました。
さらに、それを押し進めて早く見つかるように手当てしたら、なんと1600回程度の反復で終わっちゃいました。
これは、さすがに目を疑いちゃんと魔方陣になってるかどうかチェックしちゃいました^^
これで、なんとか出題者解答提出できそう^^
投稿情報: y sakuda | 2010年4 月29日 (木曜日) 午後 03時03分
あっ、ミスりました。
↑の2行目の
>反復1700ちょっとでループが止まりました。
は1700⇒17000 です。
投稿情報: y sakuda | 2010年4 月29日 (木曜日) 午後 03時04分
4×4ですか・・・
こちらは3×3で精一杯かな・・・
投稿情報: くまぷー | 2010年4 月29日 (木曜日) 午後 04時15分
やばい、止まらなくなった・・・・
無駄を見付け、改造したら、再計算順と判定の微妙な関係が崩れたらしく、
止まらなくなった・・・・・
原因は分かっているつもりなのに直らない・・・・・
要するに分かって無いのか^^;
明日の晩になんとかなるかしら?
投稿情報: y sakuda | 2010年4 月30日 (金曜日) 午前 01時14分
>明日の晩になんとかなるかしら?
今日は校外学習で1日中、横浜にいます。
え、延長希望・・・ρ(⌒◇⌒)ノ.
投稿情報: くまぷー | 2010年4 月30日 (金曜日) 午前 06時00分
急ぐ理由もありませんから、日曜日でも月曜日でもよろしいのでは?
大家さんにお任せいたします。
投稿情報: y sakuda | 2010年4 月30日 (金曜日) 午前 06時56分
やっと、3×3の整理がついた・・・・・
一番効率の良いバージョンで反復77回で最初の解に到達。
今日はもう4×4の整理をする気力が失せました^^;
それにしても、循環参照の動きってのは頭だけで考えていると錯覚しやすいですねーー
普通のプログラム書いてる方がよっぽど気楽^^;
投稿情報: y sakuda | 2010年4 月30日 (金曜日) 午後 10時05分
4×4の方も多分大丈夫というとこまで、なんとかなりました。
明日でも出題者解答送れますが、もう少しチェックして日曜日くらいの答え合わせの方がうれしいです。
どうするのかくまぷーさん決めてください。
投稿情報: y sakuda | 2010年5 月 1日 (土曜日) 午前 02時04分
>どうするのかくまぷーさん決めてください。
sakudaさんの他に準備のできた方は
どれぐらい、いらっしゃいますか?
教えて下さい。
とりあえず、今夜8時は延期ということで
お願いします。
投稿情報: くまぷー | 2010年5 月 1日 (土曜日) 午前 05時53分
今回は自分で出した問題としては珍しく、自分で目一杯楽しんじゃいました^^
最初問題を提案した段階では、なんにも考えていなかったので、正直式だけでは
無理かもとおもっていたのですが、意外とできるもんです。
ただ、循環参照による繰り返しは、実際に作って見ると思っているのと違うことが
多々あり、動いていたのも、きちんと分析してみると、単なる結果オーライだったり
しました。
それでも、現在の最終バージョンでは、3次では77回の反復で答えがでてますし、
最初最低数十万回は反復しないとだめだと思っていた4次も最初の解が25000回
で見つかるところまで持ってこれました。
投稿情報: y sakuda | 2010年5 月 1日 (土曜日) 午前 08時04分
さて、今日は部活指導もなく時間があったので
とりあえず、解答ファイルを作りました。
これで何とか参加できそうです。
・・・ということで、良ければ明日の午後8時に
答え合わせと行きたいのですが如何でしょうか?
>今回は自分で出した問題としては珍しく、自分で目一杯楽しんじゃいました^^
それが一番だと思います。(o^^o)
投稿情報: くまぷー | 2010年5 月 1日 (土曜日) 午後 08時47分
>・・ということで、良ければ明日の午後8時に
了解しました。
余り遅くならない内に出題者解答を送ります。
投稿情報: y sakuda | 2010年5 月 1日 (土曜日) 午後 09時07分
>出題者解答を送ります。
ではそういうことで
お願い致します m(__)m
投稿情報: くまぷー | 2010年5 月 1日 (土曜日) 午後 09時11分
y sakudaさんから出題者解答例を
頂きました。ありがとうございます。
しかし、ここのころsakudaさんしか現れないな・・・
投稿情報: くまぷー | 2010年5 月 2日 (日曜日) 午前 07時01分
>しかし、ここのころsakudaさんしか現れないな・・・
珍しく、、風邪で、・・・・・ねてました。
で、試作を思索段階のまま、・・・・・止まってました。
投稿情報: jyo3 | 2010年5 月 2日 (日曜日) 午前 11時40分
>試作を思索段階のまま、・・・・・
( ^o^)ノ◇ ザブトン1マイ
今回の答え合わせは
ファイルの展示会になるかな?
式だけの発表では済まない方は
ファイルを送って下さい。
順次、展示公開致します。
ちなみに出題者解答例もファイルで展示です。
投稿情報: くまぷー | 2010年5 月 2日 (日曜日) 午後 12時24分