ぽっぽ |
177が素数じゃないことに3分かけて気づいた・・・ |
9月30日(木) 0:05:48
36828 |
ちゃーみー |
11x17 の次が 11x23 になってた! ひどい間違い…。 |
とうきょうとせたがやく
9月30日(木) 0:16:46
MAIL:kakuromaster@star.cims.jp 36829 |
黒アイス |
アから出てきた素数をPとする。
P+10をAに入れると11になるってこと。 11*○-10(○は11より大きい素数または素数の積)を計算していくと、 ○=19,P=199が出てくる。 よって、最も小さいアは199*199・・・じゃなくて199そのまんま 仮にこれが入試問題だったら簡単に引っかかってるな、わたし |
9月30日(木) 0:22:36
36830 |
5230 |
11→121→1331と考えていました。
計算疲れた・・・ |
9月30日(木) 0:24:57
36831 |
5230 |
黒アイスさんに同感です。
私も199*199でやっていました。 |
9月30日(木) 0:26:40
36832 |
スモークマン |
題意からは...199^2だと思った...けど...^^;?
一応...199で入力したら入れたけど... |
9月30日(木) 0:28:48
36833 |
カレーライス |
2乗もokでしたね
199×211で入れなくて悩んでいました |
9月30日(木) 0:33:17
36834 |
Mr.ダンディ |
イが11であれば、アを入力してでてきた数(イ−10)は1になるので、不適
イが 11×A (A:11以上の素数)としたときに、A=11,13,17,19,・・・と順に動かして、イ−10が 素数になるものを探すと、A=19 のときに 11×19ー10=199 が素数となり、答えは 199 と求めました。 (一瞬、199^2 かとも思いましたが、すぐに 199で十分条件を満たしていると気が付きました) |
9月30日(木) 0:48:07
36835 |
doba |
1が素数でないのはよいとして、
装置に1を入れた時の動作が定義されてないのが気になりました。 |
9月30日(木) 0:46:56
36836 |
君の船 |
#36828
同じくです。177で撃沈です。 |
9月30日(木) 1:06:43
36837 |
cyclone |
177が素数じゃないとわかった所で嫌になって諦めてしまった
あと少しだったのにorz |
中央区
9月30日(木) 6:09:48
36838 |
ハラギャーテイ |
おはようございます。簡単なプログラムです。MATLABにはfactorとminがあるのですぐにできます。 |
山口
9月30日(木) 9:53:38
HomePage:ハラギャーテイの制御工学 36839 |
abcba@jugglermoka |
今回はおもしろい問題でした。3の倍数に気を付けていたので何とか一発正解できました。
追伸: 機械Aにある数「ア」を入力し、出力された数にN−1を加えて出来た数「イ」を再び機械Aに入力したところ、Nが出力された場合、「ア」およびNが素数のとき「イ」≧N^2である。言い換えると 素数Aに対してB≡(A^(3)+1)/(A+1)が素数になるようなAを求めなさいという問題になる。Bが2010以下になるのはA=13のときのみ。 (A≡2(mod3)ならばBが3の倍数) |
9月30日(木) 9:55:01
36840 |
次郎長 |
そうなんですね、「199で十分条件を満たしている」んですね?
私は「題意からは...199^2だと思った...けど」派でした。 199で入れて・・まぁ、最近はどっちでもいいんですが |
9月30日(木) 10:07:25
36841 |
uchinyan |
はい,こんにちは。さて,今回の問題は...
取り敢えず調べてみたらできちゃった,という感じです (^^; 条件より,○を,11 以上の素因数だけを含む自然数として, アの最小の素因数 + 10 = イ イ = 11 * ○ となり,これらから, アの最小の素因数 = 11 * ○ - 10 ですが,アを最小にするので,アが素数の場合を考えて, ア = 11 * ○ - 10 として十分です。後は,アが素数になる最小の○を探せば,そのときのアが答えになります。 そして,○は 11 * 11 = 121 未満の場合には,11 以上の素数になるので, ○ = 11,ア = 11 * 11 - 10 = 111 = 3 * 37,NG ○ = 13,ア = 11 * 13 - 10 = 133 = 7 * 19,NG ○ = 17,ア = 11 * 17 - 10 = 177 = 3 * 59,NG ○ = 19,ア = 11 * 19 - 10 = 199 = 素数,OK そこで,答えは 199 になります。 と,ここまで書いて,ふと,○ = 1 の可能性もあるのかな?,と思いました。 このときは,イ = 11 で,確かに 11 が出てきますが,11 - 10 = 1 = アの最小の素因数,で, 1 は素数でないことから,これはありえないハズですね。 でも,ア = 1 としたら,機械 A は何を出力するんだろう...? そう思って問題文を読み返すと,あまり明確でない気が... 1 は素因数分解できない又は素因数がないので,何も出力せず,エラーメッセージが出る,というのが順当ですが, もし,素因数ではないけど 1 を出力したら,ア = 1 もよくなっちゃうのかな?,なんて。 元プログラマの変な妄想でした (^^; |
ネコの住む家
9月30日(木) 10:39:57
MAIL:uchi@sco.bekkoame.ne.jp 36843 |
??? |
Option Explicit
Sub Macro1() Dim deta As Integer Dim n As Integer deta = 0 n = 2 While deta = 0 Cells(n, 1).Value = n Cells(n, 2).Value = machineA(machineA(n) + 10) Range("A" & Cells(n, 1).Value).Select If Cells(n, 2).Value = 11 Then deta = 1 Else n = n + 1 End If Wend End Sub Private Function machineA(ByVal n As Integer) As Integer Dim deta As Integer Dim j As Integer deta = 0 machineA = 2 While deta = 0 If IsPrime(machineA) And n Mod machineA = 0 Then deta = 1 Else machineA = machineA + 1 End If Wend End Function Private Function IsPrime(ByVal n As Integer) As Integer Dim j As Integer IsPrime = -(n > 1) j = 2 While IsPrime And j * j <= n If n Mod j = 0 Then IsPrime = 0 Else j = j + 1 End If Wend End Function |
9月30日(木) 10:36:30
36844 |
uchinyan |
掲示板を読みました。
考え方は,皆さん同じだと思います。 ただ... ・199^2 ではないか,という意見。 一般に,A が素数の場合を認めない,という立場になると思います。 しかし,普通,素因数分解といったときには,素数それ自体も許すと思うので,私は,この立場には賛同できません。 ・A = 1 の可能性。 問題文をプログラムのスペック,又は写像もしくは関数の定義,として読み直すと, そもそも,機械 A に入力できる数の集合が明確でなく, 素因数分解という概念が定義できない,素因数がない,などの数を入力したときの動作は未定義です。 エラー又は該当する数がないことを表す特別な値,例えば -1,を出力するのが,妥当だと思います。 この立場に立てば,A = 1 は条件に合わないとして排除するのがよさそうです。 なお, #36840の追伸 あまりちゃんと考えてないですが,まぁ,そんな感じなのかなぁ,という感じ。ただ, >素数Aに対してB≡(A^(3)+1)/(A+1)が素数になるようなAを求めなさいという問題になる。Bが2010以下になるのはA=13のときのみ。 題意がよく分からない。前半の「≡」は何を法としているのかな? もし普通の等号「=」としたら,後半の B <= 2010 で A = 13 のみ,というのは (A,B) = (2,3),(3,7),(7,43),(13,157) になってしまうし... |
ネコの住む家
9月30日(木) 11:36:24
MAIL:uchi@sco.bekkoame.ne.jp 36846 |
万打無 |
私は133が素数でないことに気づかず3分ほど悩みました(笑) |
9月30日(木) 12:06:58
36847 |
abcba@jugglermoka |
#36840,#36846
>題意がよく分からない。前半の「≡」は何を法としているのかな? >もし普通の等号「=」としたら,後半の B <= 2010 で A = 13 のみ,という>のは >(A,B) = (2,3),(3,7),(7,43),(13,157) >になってしまうし... ご指摘有難う御座います。 「イ」の最小値は「イ」=N^2で「ア」を入力した時に出力される値はN^(2)−N+1=(N^(3)+1)/(N+1)である。機械Aは素数を入力するとそのまま出力されるので「ア」=(N^(3)+1)/(N+1)が素数になればこの値が「ア」の最小値である事がわかる。言い換えて NをA,「ア」をBに置き換えてB=(A^(3)+1)/(A+1). 前半の≡は合同数の記号ではなく定義の意味です。A,Bに対する2変数方程式を式変形したわけではないので定義の意味でこの記号を使いました。なので何を法にしているわけでもなく単なる等式です。 A≧11(2桁以上)のつもりで書いたのですが書き忘れていました。 単にA=13と解が1つになるので何となくエレガント(?)かな....と思って書いただけで余り深くは考えていません。 |
9月30日(木) 12:40:20
36848 |
ミミズクはくず耳 |
素数表がパソコンの中にあるかなと思いましたが見つからないのでWeb検索しました。
199*199でひっかかったのは私だけじゃないんだ。 |
9月30日(木) 14:41:28
36849 |
ハラギャーテイ |
MATLABのプログラム。通常、factorは1を素因数として出力していないようです。
for ii=2:300; a=min(factor(ii)); b=a+10; c=min(factor(b)); if c==11,ii,end; end; |
山口
9月30日(木) 17:43:15
HomePage:ハラギャーテイの制御工学 36850 |
imai |
11×19 |
9月30日(木) 17:52:06
36851 |
tomo |
199×211でひたすら悩んでいました。井上君解いたよ。 |
9月30日(木) 22:38:15
36852 |
スモークマン |
どなたか教えていただきたいのですが...Orz~
某中学入試問の発展(^^;?)として...以下のようなのを考えたのですが... 「2人の生徒が次のルールで、交互に黒板に数字を書いていくゲームをしています。 ルール(1)1から n までの数の中から1つを選んで数字を交互に書いていく。 ルール(2)それまでに書かれた数の約数は書けない。 (例えば、黒板に「9」と書かれたら、それ以降は1,3,9は書けない) ルール(3)パスはできない というルールで、数が書けなくなった人が負けです。 このゲームで先手が必ず勝てる最大の n を求めよ。」 これって...問題として成立するものでしょうか...? ゼロサム問題だから...ある数の時は、先手必勝か後手必勝かに決まるわけですよね...? 上の問題の答があるとしたら...その数以上は後手必勝になることになるわけで... でも...素数は無限個あるから...そんなことは馬鹿げてるような気もするし...^^;? |
10月1日(金) 0:51:20
36853 |
doba |
#36853
そのルールだと、nの値によらず先手必勝だと思います。 仮に、あるnについて後手必勝だとすると、 先手が最初何を書いたとしても、後手には敗着にならないような次の1手が存在します。 ここで、先手が1を書いたときに後手が次に書くことのできる数の1つをaとすると、 1とaが黒板に書かれている状態で次に書く人は必敗となります。 一方、後手必勝なので、先手が最初に黒板にaを書いても後手は勝てる、 つまり、aのみが黒板に書かれている状態で次に書く人は必勝です。 ところが、「1とaが黒板に書かれている状態」と 「aのみが黒板に書かれている状態」では、残っている数は同じなので、 ゲームの局面としては等価なはずです。 したがって、どちらかが必勝でどちらかが必敗ということはありません。 よって、ここで矛盾は生じ、後手必勝という仮定は誤りであることがわかります。 したがって、このゲームはnの値によらず先手必勝です。 − 「2からnまで」にすると、後手必勝のケースも出てくるのではないでしょうか。 ただ、いずれにせよ、「ある数以上のnについては必ず後手必勝」という話には ならないような気がします。 |
10月1日(金) 1:48:53
36854 |
doba |
ちなみに、先手必勝か後手必勝に決まるのは、
ゼロサムであるからではなく、有限回数で決着がつくことが保証されているからだと思います。 |
10月1日(金) 2:02:34
36855 |
スモークマン |
#36854 dobaさんへ ^^
考えて下さってありがとうございます♪ 理屈は理解できました ^^v 先手必勝になることも... ある数 n が与えられたときその手順を求めることは別問題になるわけですね... たとえば...将棋や囲碁も必勝法が存在するのでしょうが...チェスでさえ...スパコンでも大変って問題だけで... 面倒なのでしょうけど...たとえば...n=21 のときの先手の必勝法は示すことはできるのでしょうか?わたしは...先手必敗の気がしたもので...^^;... |
10月1日(金) 9:24:41
36856 |
doba |
#36856 スモークマンさん
このゲームで、あるnについて具体的に必勝法を構築する場合、 nが増えると可能な局面の数が爆発的に増えて、 人間にはすぐ追い切れなくなるようです。 私にはn=10ぐらいが限界でした。 この問題のルールの場合、nに関する数学的帰納法が絶望的に使えないので 必勝法の中に規則性を見いだすのも難しそうです。 なお、「1は書いてはいけない」というルールを追加した場合、 n=2からn=10までで後手必勝となったのは3と7だけでした。 |
10月1日(金) 14:28:40
36857 |
ぱずる&ゲーム10種競技 |
#36856,#36857
横から失礼します。 下手なプログラムを走らせました。そのものが正しいかどうか不安はあるのですが、dobaさんの結果とn=10までは同じになったので良としてます。 その結果によれば (n:8,10 nはnの数、続く数字は先手が書くと勝つ数字です) 11:8,10 12:2,5 13:6 14:10,11,12,13,14 15:12 16:14 ちなちに21は21を描けば少なくとも先手勝ち(すべての分析は未了、プログラムでも相当の時間、ここで中断します)ここまでに、後手勝ちのケースは出ておりません。 |
10月1日(金) 16:45:54
MAIL:tmkimura@carrot.ocn.ne.jp 36858 |
スモークマン |
#36857,#36858 dobaさん&ぱずる&ゲーム10種競技さんへ ^^
面倒な問題ですみません m(_ _);m~v わたしのいい加減な考え方です...どこかおかしいでしょうか...^^;? たとえば...n=10のとき... 1,2,3,5,7...2^2,2*3,3^2,2^3,2*5 先手は奇数番目に勝てばよい... つまり、偶数個残しておけばよい。簡単には2個残っていれば勝ち。 たとえば...2*3 or 2*5 これで...残りは...5,7 or 3,7 の2個残るので... 後手はどちらを出しても先手が選べる約数は1個残る♪ 約数1個の時は...たとえば、1を出すと、後手は 2*3 or 2*5 を出して来る...上の理屈で後手の勝ち。 2,3,5,7 から1個選ぶと、奇数個になるので先手の負け。 1,2,3,5,7,11,13,17,19...から...2*5 を先手が出せば...3*7=21 なので... 20までなら...3,7,11,13,17,19 の6個(偶数)で相手に渡せるので勝てる。 21のときは...3*7 を出しても...後手に2 を出されたら...5,7,11,13,17,19 の偶数個しか残らないから...負け... と考えてましたが...問題文よく読んだら...約数より大きな数なら出せるのでした...^^;...Orz~ お騒がせいたしました... n=10 のときは...先手が6を選んだら勝てそうですね♪ |
10月1日(金) 17:51:12
36859 |
パズル&ゲーム10種競技 |
#36859
説明文、失礼ながら追いきれませんが、最後の >n=10のとき、6を選んだら勝ち は当たっていると思います。 ついでなので、n=21までの先手が勝つための一手目を羅列します。 3:1 4:2 5:4 6:5,6 7:1 8:2,5,7 9:2,5,7 10:4,6 11~16:#36858 17:10 18:5 19:12,14 20:4,5,6,9 21:4,6,9,21 |
10月2日(土) 9:57:21
HomePage:パズル&ゲーム10種競技 36860 |
hide |
確か算数オリンピックか何かにn=10の時先手必勝になるための1手目を問う問題があったような…?
あ、あったあった。 http://www.sansu-olympic.gr.jp/class1/q6.html |
ラダトーム
10月2日(土) 18:24:01
36861 |
スモークマン |
#36860 パズル&ゲーム10種競技さんへ ^^
4でもいいこと確認できました♪ 上手い探し方ってあるのかなぁ...^^;? #36861 hideさんへ ^^ そう...算数オリンピクの問題でした...^^v わたしは最初...書かれた数の約数を持つ数は書けないと誤読してたので... 先手の勝てる最大の数ってのがありそうな気がしたもので...^^;...Orz~v |
10月2日(土) 21:16:44
36862 |
uchinyan |
スモークマンさんの問題及びその議論,興味深く読みました。
特に,dobaさんの証明は,1 の特殊性をうまく使っていて面白いですね。 なお,ぱずるさんの結果を確認しようと思って私もプログラムを組んでみたのですが, アルゴリズムがナイーブ過ぎるようでなかなか結果が出ず, やっと,n = 1 〜 16 は何とか終わって同じになりました。 それ以降は,かなり走らせているものの終わらず,アルゴリズムの見直しをしないとダメそうです。 何かうまい方法はないのかな... |
ネコの住む家
10月3日(日) 12:45:57
MAIL:uchi@sco.bekkoame.ne.jp 36863 |
ぽっぽ |
おお、面白い議論をされていますね
dobaさんの証明は非常に感動しました でも私は中間考査前ということで深く考えることが出ないです・・・ |
10月3日(日) 13:31:36
36864 |
doba |
いえいえ、1の特殊性うんぬんに気づいたのは、
n=1から順番に先手必勝か後手必勝かを地道に調べていて、 n=7にさしかかった時、先手の書ける数字を大きい方から順につぶしてたら、 7から2まではダメで、最後の先手=1を検討していると、 実は先手1で後手を考える際、それまでの先手の検討の 繰り返しになることに気づいたためだったりします。 いきなりはひらめけません(^^; ところで、先手が1しか書けないようなn (つまり、1を書いてはいけないルールでは後手必勝になるようなn)には なにか規則性は見いだせないものでしょうか。 それとも、実はn=7が最大だったりして...。 やっぱり、規則性を求めるのは無理な問題なのかなあ。 |
10月4日(月) 1:35:45
36865 |
スモークマン |
#36865 dobaさんへ ^^
いい加減な論法かもしれませんが...^^;... もし...n=7 のときが後手必勝の最大値ならば...それ以上のときは先手の必勝法が存在することになりますが...n=k>7で...たとえば...n=10 のとき先手必勝とするならば...n=11(素数) のときは...先手は11を出したら絶対に負けるので...後手は 11を出さないようにしますよね...?...ということは... 後手も先手も11が出せないことになり...これは矛盾...つまり...先手必勝でなくなる... けっきょく...先手必勝の数n=kの次の数n=k+1が素数なら...後手必勝と言えそうな...^^;? やっぱり...いい加減かなぁ...^^;? |
10月4日(月) 22:10:50
36866 |
スモークマン |
わたしのやっぱり嘘ですね...^^; Orz...
n=4 のとき... 先手が2 or 4 を出せば...先手必勝だけど... n=5(素数)でも...先手は、今度は4を出せば...必勝になりますものね...Orz... こりゃ難しか...^^;;... |
10月4日(月) 23:09:35
36867 |
ど〜もどす |
簡単でしたね^^ |
10月5日(火) 22:47:56
36868 |
だいすけ |
お久しぶりです。
趣味の算数、かなり久しぶりに更新しました。 そして、URLが変わりました http://blog.livedoor.jp/daisuke_1232/ 今後とも、よろしくお願いします! (毎度毎度、広告すみません...) |
大阪府吹田市
10月6日(水) 20:27:43
MAIL:dice-k@onyx.ocn.ne.jp HomePage:だいすけの部屋 36869 |