物理好き |
プログラミングです。(for文9回ネスト)
答えがゾロ目とは驚きました 222 |
大阪
10月29日(木) 0:08:51
MAIL:butsuri.0523@gmail.com HomePage:Math Labyrinth 第9回更新! 43839 |
ベルク・カッツェ |
最初は合計6から考えようとして、面倒になりそうなので方針転換。
3で割った余りに注目すると0、1、2がそれぞれ三つあり、000、111、222と分けるパターンが6通り、全員012とするパターンが3×3×3×2×2×2=216通り、合計22通りになりました。 |
10月29日(木) 0:09:45
43840 |
物理好き |
そういえば今回は950回です。
おめでとうございます!! |
大阪
10月29日(木) 0:11:41
MAIL:butsuri.0523@gmail.com HomePage:Math Labyrinth 第9回更新! 43841 |
スモークマン |
最初…
(3^3*2^3+1)*3!=1301 だと思ってた… よく考えたら… 3^3*2^3*1^3/3!+1*3!=222 でいいことに気付けましたわ ^^;v |
金即是空 ^^;v
10月29日(木) 0:15:57
43842 |
みかん |
あまりの部分を0、1、-1として考えましたが、#43840と同じやり方でした。 |
10月29日(木) 0:16:18
43844 |
算数大好き |
3で割った余りに着目して,
(0,0,0)(1,1,1)(2,2,2)の場合が,3×2×1=6通り 3人とも(0,1,2)の場合が,6×6×6=216通り なので,6+216=222通りが答え。 |
10月29日(木) 0:17:04
43845 |
Mr.ダンディ |
A0={3,6,9} ,A1={1,4,7{ ,A2={2,5,8}
と3で割った余りで分類し 3人ともが 和が 3の倍数となるのは ① 3人ともが A0,A1,A2のグループごとを引く場合 .....3!=6(通り) ②3人ともが A0,A1,A2から1マイずつ引く場合......6^3=216(通り) よって 6+216=222(通り) ...............としました。 |
10月29日(木) 0:22:41
43846 |
今年から高齢者 |
Internet Explorerの調子が悪く、ページを開くのに失敗。
Firefoxを使って...。 はじめは、複雑そうなので、一服...。落ち着いて考えれば、人を区別しなければ意外と少なく。 #43840とおなじでした。 |
10月29日(木) 0:24:14
43847 |
ゴンとも |
十進Basic で
FOR a=1 to 9 FOR b=a+1 to 9 if b=a then goto 80 FOR c=b+1 to 9 if c=a or c=b or mod(a+b+c,3)<>0 then goto 70 FOR d=1 to 9 if d=a or d=b or d=c then goto 60 FOR e=d+1 to 9 if e=a or e=b or e=c or e=d then goto 50 FOR f=e+1 to 9 if f=a or f=b or f=c or f=d or f=e or mod(d+e+f,3)<>0 then goto 40 FOR g=1 to 9 if g=a or g=b or g=c or g=d or g=e or g=f then goto 30 FOR h=g+1 to 9 if h=a or h=b or h=c or h=d or h=e or h=f or h=g then goto 20 FOR i=h+1 to 9 if i=a or i=b or i=c or i=d or i=e or i=f or i=g or i=h or mod(g+h+i,3)<>0 then goto 10 let s=s+1 10 next i 20 next h 30 next g 40 next f 50 next e 60 next d 70 next c 80 next b 90 next a print s end f9押して 222・・・・・・(答え) |
豊川市
10月29日(木) 1:11:11
43848 |
あめい |
多くの方と同じ、余りで分類し、3人とも同じグループをとる、3人とも違うグループをとるの場合分けで。
場合の数はいつも抜け落ちがあり今回も2パターン以外のものがあるのではと、昔パチンコ好きだった身にはゾロ目は逆に絶対あやしいぞなどとすっきり答が出せた割にはすっきりしない思いの問題でした。 |
お馬崎
10月29日(木) 6:19:22
43850 |
巷の夢 |
3,6,9を一つずつ3人に分配し、残り6個の数字を3の倍数になる様3種類に分けて6×6×6=216、しかし、入れない何故・・・・、うーんー、そうか、3,6,9全てを使うものと残り6個から3の倍数となる組み合わせを見つけ、これが6種類、因って222となりました。 |
真白き富士の嶺
10月29日(木) 7:54:54
43851 |
??? |
VBSCRIPT
k=0 for a=1 to 9-2 for b=a+1 to 9-1 for c=b+1 to 9 if (a+b+c) mod 3=0 then for d=1 to 9-2 if a<>d and b<>d and c<>d then for e=d+1 to 9-1 if a<>e and b<>e and c<>e then for f=e+1 to 9 k=k-(a<>f and b<>f and c<>f and (d+e+f) mod 3=0) next end if next end if next end if next next next msgbox k |
10月29日(木) 8:29:57
43852 |
uchinyan |
はい,こんにちは。さて,今回の問題は...
これは,算チャレとしては標準的かやや易,世の中としては標準的かやや難,といったところでしょうか。 こんな感じで。 3の倍数がポイントなので,1 ~ 9 を 3 で割った余りで3つのグループに分類します。すると, (1) 3 で割って 1 余るグループ:1,4,7 (2) 3 で割って 2 余るグループ:2,5,8 (3) 3 で割って 0 余るグループ:3,6,9 これを使うと,それぞれの人の取った数の和が3の倍数になるのは次の場合です。 それぞれの人が (1) ~ (3) のいずれか1つに属する3つの数すべてを取る場合 例えば,マサルさんが 1,4,7,トモエさんが 2,5,8,マサヒコくんが 3,6,9,と取る場合です。 これは,どのグループを誰が選ぶかで,3 * 2 * 1 = 6 通り,です。 それぞれの人が (1) ~ (3) に属する数を1つずつ取る場合 例えば,マサルさんが 1,2,3,トモエさんが 4,5,6,マサヒコくんが 7,8,9,と取る場合です。 これは,1つのグループに属する数を誰が選ぶかで 3 * 2 * 1 = 6 通り ずつ,3つのグループで 6 * 6 * 6 = 216 通り,です。 他の可能性はなく以上ですべてなので,求める場合の数は,6 + 216 = 222 通り,になります。 |
ネコの住む家
10月29日(木) 11:25:58
MAIL:uchi@sco.bekkoame.ne.jp 43853 |
uchinyan |
掲示板を読みました。
注意 以下の記述は,そもそもは私自身の勉強のメモに過ぎないのですが, 折角なのでご参考までにと思って公開するものです。 そういうこともあって,解法の分類は算チャレの F.A.Q. の「算数の範囲」の記述を参考に, 私個人が独断と偏見で主観的に行っているものであって,客観的なものではありません。 あくまでもご参考です。悪しからず。 #43840,#43842(多分),#43844,#43845,#43846,#43847,#43850,#43851(若干発想が違うかな),#43853 1 ~ 9 を 3 で割った余りで分類して考える解法。 #43839,#43848,#43852 プログラムによる解法。 何か変わった面白い解法はないかな,と思ったのですが,結局,算数解法は皆さんとも, 1 ~ 9 を 3 で割った余りで分類して考える解法,又はそれのマイナーなバリエーション, ということのようですね。 |
ネコの住む家
10月29日(木) 11:58:12
MAIL:uchi@sco.bekkoame.ne.jp 43854 |
「数学」小旅行 |
プログラムの仕方で結果が出るまでに掛かる時間がずいぶん違うのがおもしろかったです。
Small Basic を利用してみました。 まずは、もっとも人間が考えなくていいプログラムです。 c=0 For i=1 To 9 For j=1 To 9 For k=1 to 9 For l=1 To 9 For m=1 To 9 For n=1 To 9 For o=1 To 9 For p=1 To 9 For q=1 To 9 If (i-j)*(i-k)*(j-k)*(i-l)*(j-l)*(k-l)*(i-m)*(j-m)*(k-m)*(l-m)*(i-n)*(j-n)*(k-n)*(l-n)*(m-n)*(i-o)*(j-o)*(k-o)*(l-o)*(m-o)*(n-o)*(i-p)*(j-p)*(k-p)*(l-p)*(m-p)*(n-p)*(o-p)*(i-q)*(j-q)*(k-q)*(l-q)*(m-q)*(n-q)*(o-q)*(p-q)<>0 And Math.Remainder((i+j+k) , 3)=0 And Math.Remainder((l+m+n) , 3)=0 And Math.Remainder((o+p+q) , 3)=0 Then c = c+1 EndIf EndFor EndFor EndFor EndFor EndFor EndFor EndFor EndFor EndFor TextWindow.Writeline(c/6/6/6) end: プログラムは単純でわかりやすいのですが、走らせてみると、私のPCで、約1時間掛かりました。 次に、途中に判断を入れて、適さないものを早めに除外していくようにしました。 c=0 For i=1 To 9 For j=1 To 9 If i<j Then For k=1 to 9 If j<k Then For l=1 To 9 If (i-l)*(j-l)*(k-l)<>0 Then For m=1 To 9 If (i-m)*(j-m)*(k-m)<>0 And l<m Then For n=1 To 9 If (i-n)*(j-n)*(k-n)<>0 And m<n Then For o=1 To 9 If (i-o)*(j-o)*(k-o)*(l-o)*(m-o)*(n-o)<>0 Then For p=1 To 9 If (i-p)*(j-p)*(k-p)*(l-p)*(m-p)*(n-p)<>0 And o<p Then For q=1 To 9 If (i-q)*(j-q)*(k-q)*(l-q)*(m-q)*(n-q)<>0 And p<q Then If Math.Remainder((i+j+k) , 3)=0 Then If Math.Remainder((l+m+n) , 3)=0 Then If Math.Remainder((o+p+q) , 3)=0 Then c = c+1 EndIf EndIf EndIf EndIf EndFor EndIf EndFor EndIf EndFor EndIf EndFor EndIf EndFor EndIf EndFor EndIf EndFor EndIf EndFor EndFor TextWindow.Writeline(c) end: すると、なんと、2秒ほどで結果が出ました。(@@) |
10月29日(木) 11:58:55
43855 |
てい |
どこかの入試問題で解いたことがあるような・・・ |
10月29日(木) 16:04:15
43856 |
マサル |
#43856(ていさん)
はい、実は某四国の国立大学の入試問題の一部です。生徒のやらせてみたところ、ほぼ満点だったのですが、この問題だけダメだったので、「意外と難しいのかな?」と思って出題してみた次第です。 |
MacbookPro
10月30日(金) 11:42:21
43857 |
にゃもー君 |
自分も3の剰余系でカードを分類して、一人の手持ちカードが3の倍数になるパターンを考えてみました。
ⅰ)全員がそれぞれ3枚とも同じ剰余のカードを持つ (例:3と6と9、1と4と7等) ⅱ)全員ともに3種類の剰余系のカードを1枚ずつ持つ(例:1と2と3、4と2と9等) それ以外にもパターンがありそうだなと思ったんだけど。 今回の答えの222って 2月22日のネコの日(ニャンニャンニャン)を想起する。 |
11月3日(火) 20:10:02
43858 |
ハラギャーテイ |
C言語で組みました。計算時間は測れないほど一瞬でした。
ご参考にプログラムを掲載します。 #include <iostream> #include <algorithm> #include <stdio.h> #include <math.h> using namespace std; int main(void) { int s,s1,s2,s3; int x[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int nx = sizeof(x) / sizeof(x[0]); s=0; while (next_permutation(x, x + nx)){ s1=x[1]+x[2]+x[3]; s2=x[4]+x[5]+x[6]; s3=x[7]+x[8]+x[9]; if (s1 %3 ==0 && s2 %3==0 && s3 %3==0) s=s+1; } s=s/72; printf("%d",s); return (0); } |
山口
11月4日(水) 11:24:21
HomePage:制御工学にチャレンジ 43859 |