マサル |
今週は図形問題を用意していたのですが、トラブル(想定していた方法とは別の方法で簡単に解けることが分かってしまった..)のため、急きょ差し替え..。先週と似たような設定の問題でスミマセン。m(__)m |
Mac mini
11月10日(木) 0:06:37
HomePage:Men@Work 38546 |
ゴンとも |
十進basicで列挙させました。
FOR a=1 TO 4 FOR b=1 TO 4 FOR c=1 TO 4 if a+b+c=10 then print a;b;c FOR d=1 TO 4 IF a+b+c+d=10 THEN PRINT a;b;c;d FOR e=1 TO 4 IF a+b+c+d+e=10 THEN PRINT a;b;c;d;e FOR f=1 TO 4 IF a+b+c+d+e+f=10 THEN PRINT a;b;c;d;e;f FOR g=1 TO 4 IF a+b+c+d+e+f+g=10 THEN PRINT a;b;c;d;e;f;g FOR h=1 TO 4 IF a+b+c+d+e+f+g+h=10 THEN PRINT a;b;c;d;e;f;g;h FOR i=1 TO 4 IF a+b+c+d+e+f+g+h+i=10 THEN PRINT a;b;c;d;e;f;g;h;i FOR j=1 TO 4 IF a+b+c+d+e+f+g+h+i+j=10 THEN PRINT a;b;c;d;e;f;g;h;i;j NEXT j NEXT i NEXT h NEXT g NEXT f NEXT e NEXT d NEXT c NEXT b NEXT a END f9押して401通りを列挙! |
豊川市
11月10日(木) 0:08:10
MAIL:fttnm528@ybb.ne.jp 38547 |
おいら@NY |
23通りの数字の選びかたのパターンをそれぞれ数え上げました。 |
11月10日(木) 0:15:41
38548 |
キノピー |
フィボナッチ・トリボナッチ・テトラナッチ |
11月10日(木) 0:16:06
38549 |
☆彡 |
何も考えずに書き出し
55 541 532 5311 52111 511111 64 631 622 6211 61111 73 721 7111 82 811 91 10 並べ替え考慮して2^9の512から引いて401 間違えて501って送信してたみたいで順位めっちゃ落ちました>< |
11月10日(木) 0:16:21
38550 |
みかん |
和が10になる組み合わせを地道に書き出し、その組み合わせで
何通りの並べ方があるかを1つずつ計算。 (4・4・2)→3通り (4・4・1・1)→6通り (4・3・3)→3通り 途中は省略 (2・2・1・1・1・1・1・1)→28通り (2・1・1・1・1・1・1・1・1)→8通り (1・1・1・1・1・1・1・1・1・1)→1通り まとめておくと 最大の数字が4の場合…127通り 最大の数字が3の場合…185通り 最大の数字が2の場合…88通り 1ばっかり…1通り の合計401通りでした。 数え落としや計算間違いがなかったのは奇跡的だ(^_^) |
11月10日(木) 1:07:53
38551 |
Mr.ダンディ |
みかんさんの #38551とまったく同じ解法でした。
(もっと楽にできそうな気が・・・?!) |
11月10日(木) 0:26:44
38552 |
かかか! |
#38551と同じ地道な解法。
自分は4が2つの場合、1つの場合、ない場合で分けて考えました。 4が2つの場合…9通り 4が1つの場合…118通り 4がない場合…274通り 9+118+274=401(通り) たいていこういう問題ではカウントミスをするのですが… 一発で入れました。案外カウントしやすい構造(?)になってるのかも |
11月10日(木) 0:29:49
38553 |
キノピー |
各位の和が
1→1通り 2→1+1=2通り 3→1+2+1=4通り 4→1+2+4+1=8通り 5→1+2+4+8=15通り 6→2+4+8+15=29通り 7→4+8+15+29=56通り 8→8+15+29+56=108通り 9→15+29+56+108=208通り 10→29+56+108+208=401通り となる前項4つを足していくテトラボッチ数列では? |
11月10日(木) 0:35:42
38554 |
tomh |
1,2,3,4段飛ばしを使って10段上ることと同じですね。
気付くのが遅かった… (^^; |
新潟市
11月10日(木) 0:35:53
MAIL:tomh@yahoo.co.jp HomePage:H to M 38555 |
Mさん |
10ケタの場合 9ケタの場合 ・・・ と非常に地道な作業をしました。
10ケタ 1通り 9ケタ 9C1=9 8ケタ 8C1+8C2=36 7ケタ 7C1+7C2*2+7C3=84 以下略 1+9+36+84+120+101+44+6=401 こんな面倒なことをしたのは私だけかもorz |
第2グループ
11月10日(木) 0:37:54
HomePage:受付中 38556 |
CRYING DOLPHIN |
最初、問題が変わってないと勘違いして、0時過ぎてから5回以上リロード
したのは、ここだけの日見津田( 各位の和が10になり0を使わない場合の数2^9−1=511から不要な整数を 引こうと企んでいましたが、途中で面倒くさくなって考え直して、 「これってフィボナッチの親戚じゃね?」という方法に至った次第。 (というか、自分のとこで似た問題を出してたことに、今気付いた) 和が1…1のみ、1通り 和が2…2、11の2通り 和が3…3、21、12、111の4通り 和が4…4、31、22、211、13、121、112、1111の8通り 和が5…左端の数で場合分けすると「4?」「3?」「2?」「1?」の4パターン があるが、これは?の部分の「和が1」「和が2」「和が3」「和が4」 となる場合の数の和に等しいので、1+2+4+8=15通り 和が6…同様に、「4?」「3?」「2?」「1?」の4パターンを言い換えて 「和が2」「和が3」「和が4」「和が5」より2+4+8+15=29通り 和が7…4+8+15+29=56通り 和が8…8+15+29+56=108通り 和が9…15+29+56+108=208通り 和が10…29+56+108+208=401通り |
誰もいない市街地
11月10日(木) 0:47:22
HomePage:算数&隧道 38557 |
Mr.ダンディ |
《考え直すと、次のようになりました》
条件を満たすn桁の数の個数を A[n]とすると A[1]=1,A[2]=2,A[3]=4 ,A[4]=8 n≧5 のとき … A[n]=A[n-4]+A[n-3]+A[n-2]+A[n-1] となりますが n≧6 のときは A[n]=2*A[n-1]−A[n-5] で求めるのが楽なようです。 A[5]=15 A[6]=15*2−1=29 A[7]=29*2−2=56 A[8]=2*56−4=108 A[9]=108*2−8=208 A[10]=208*2−15=401 A[11]=401*2−29=773 A[12]=1490 、A[13]=2872 、A[14]=5536、・・・ 桁数が多ければ、こんな感じで求めるのでしょうか。 |
11月10日(木) 1:37:12
38558 |
abcba@jugglermoka |
#38556
自分も同じ方法です。 |
11月10日(木) 1:45:48
38559 |
通りすがり |
十進basicで、私ならこうかなぁ〜
CALL puls10(0, count) print count END EXTERNAL SUB puls10(s, count) IF s >= 10 THEN IF s = 10 THEN LET count=count+1 EXIT SUB END IF FOR i=1 TO 4 CALL puls10(s+i,count) NEXT I END SUB |
11月10日(木) 8:17:44
38560 |
ハラギャーテイ |
すみません、プログラムです。ださいプログラムでした。 |
山口市
11月10日(木) 9:19:47
HomePage:制御工学にチャレンジ 38561 |
cyclone |
#38550に同じ |
中央区
11月10日(木) 12:43:37
HomePage:オンラインフラッシュ開催中 38562 |
uchinyan |
はい,こんにちは。さて,今回の問題は...
う〜む,結構考えてしまいました。こんな感じで。 (解法1) 状況を探るためにも,とにかく地道にやってみました。 各桁の数字が 1 〜 4 で和が 10 になるので, まず,和が 10 になる 1 〜 4 のパターンを順序を無視して調べ,それらを一列に並べれば求める整数になります。 例えば,10 = 1 + 2 + 3 + 4 なので,パターンとしては 1 2 3 4,これを並べて 1234, 1243, 1324, ... などの 4! = 24 個,などです。 これを実行すると,次のようになります。「->」のあるのが意味のあるパターンで,「->」の右がそのパターンおける整数の個数です。 1 1 1 1 1 1 1 1 1 1 -> 10!/10! = 1 1 1 1 1 1 1 1 1 2 -> 9!/8! = 9 1 1 1 1 1 1 1 3 -> 8!/7! = 8 1 1 1 1 1 1 4 -> 7!/6! = 7 1 1 1 1 1 1 2 2 -> 8!/6!2! = 28 1 1 1 1 1 5 1 1 1 1 1 2 3 -> 7!/5! = 42 1 1 1 1 6 1 1 1 1 2 4 -> 6!/4! = 30 1 1 1 1 2 2 2 -> 7!/4!3! = 35 1 1 1 1 3 3 -> 6!/4!2! = 15 1 1 1 7 1 1 1 2 2 3 -> 6!/3!2! = 60 1 1 1 3 4 -> 5!/3! = 20 1 1 8 1 1 2 2 4 -> 5!/2!2! = 30 1 1 2 2 2 2 -> 6!/2!4! = 15 1 1 2 3 3 -> 5!/2!2! = 30 1 1 4 4 -> 4!/2!2! = 6 1 9 1 2 2 2 3 -> 5!/3! = 20 1 2 3 4 -> 4! = 24 1 3 3 3 -> 4!/3! = 4 2 8 2 2 2 4 -> 4!/3! = 4 2 2 2 2 2 -> 5!5! = 1 2 2 3 3 -> 4!/2!2! = 6 2 4 4 -> 3!/2! = 3 3 7 3 3 4 -> 3!/2! = 3 そこで,整数の総数は,「->」の右端の数を足せばいいので, 1 + 9 + 8 + 7 + 28 + 42 + 30 + 35 + 15 + 60 + 20 + 30 + 15 + 30 + 6 + 20 + 24 + 4 + 4 + 1 + 6 + 3 + 3 = 401 個 になります。 (解法2) (解法1)の途中で気付いたのですが, 例えば,1 1 1 7 には,1 1 1 2 5 の中間パターンがありますが,5 は既に 2 3 とパターン分けされており,和が 5 の場合に還元されます。 他の場合も同様で,これは和に関して漸化式が作れることを意味しています。 そこで,和が n の場合を a(n) 個とすると, a(1) は,明らかに 1 だけで,a(1) = 1 です。 a(2) は,2 = 1 + 1 = 2 より, 最上位桁の数字が 1 で残りの桁の数字の和が 1 の場合の a(1) と 2 自体で, a(2) = a(1) + 1 = 1 + 1 = 2,です。 a(3) は,3 = 1 + 2 = 2 + 1 = 3 より, 最上位桁の数字が 1 で残りの桁の数字の和が 2 の場合,最上位桁の数字が 2 で残りの桁の数字の和が 1 の場合,3 自体で, a(3) = a(2) + a(1) + 1 = 2 + 1 + 1 = 4,です。 a(4) は,4 = 1 + 3 = 2 + 2 = 3 + 1 = 4 より, 最上位桁の数字が 1 で残りの桁の数字の和が 3 の場合,最上位桁の数字が 2 で残りの桁の数字の和が 2 の場合, 最上位桁の数字が 3 で残りの桁の数字の和が 1 の場合,4 自体で, a(4) = a(3) + a(2) + a(1) + 1 = 4 + 2 + 1 + 1 = 8,です。 n >= 5 の場合は,n = 1 + (n-1) = 2 + (n-2) = 3 + (n-3) = 4 + (n-4) より, 最上位桁の数字が 1 で残りの桁の数字の和が n-1 の場合,最上位桁の数字が 2 で残りの桁の数字の和が n-2 の場合, 最上位桁の数字が 3 で残りの桁の数字の和が n-3 の場合,最上位桁の数字が 4 で残りの桁の数字の和が n-4 の場合で, a(n) = a(n-1) + a(n-2) + a(n-3) + a(n-4) になります。この問題では,a(10) を求めるので, a(5) = a(4) + a(3) + a(2) + a(1) = 8 + 4 + 2 + 1 = 15 a(6) = a(5) + a(4) + a(3) + a(2) = 15 + 8 + 4 + 2 = 29 a(7) = a(6) + a(5) + a(4) + a(3) = 29 + 15 + 8 + 4 = 56 a(8) = a(7) + a(6) + a(5) + a(4) = 56 + 29 + 15 + 8 = 108 a(9) = a(8) + a(7) + a(6) + a(5) = 108 + 56 + 29 + 15 = 208 a(10) = a(9) + a(8) + a(7) + a(6) = 208 + 108 + 56 + 29 = 401 そこで,401 個,になります。 なお,単に計算の便宜ですが,n >= 6 以上は, a(n) = a(n-1) + a(n-2) + a(n-3) + a(n-4) = a(n-1) * 2 - a(n-5) と変形して計算した方が楽かもしれませんね。 |
ネコの住む家
11月10日(木) 13:35:10
38563 |
uchinyan |
掲示板を読みました。
#38548,#38551,#38552,#38553,#38556,#38559,#38563の(解法1) 地道にそのまま条件を満たすものを数え上げる解法。数え上げの場合分けの仕方には各人の工夫があるようです。 #38550,#38562 和が 10 で各位の数字が 5 以上を含むものを数え上げ全体 2^9 = 512 から引く解法。 #38549,#38554,#38555,#38557,#38558,#38563の(解法2) 漸化式による解法。 #38547,#38560,#38561,#38565 プログラムによる解法。 |
ネコの住む家
11月10日(木) 13:38:26
38564 |
??? |
Option Explicit
Dim keta As Integer Dim a(10) As Integer Sub Macro1() Cells(1, 1).Value = 0 For keta = Application.RoundUp(10 / 4, 0) To 10 Call saiki(1) Next keta Range("A1").Select End Sub Sub saiki(ByVal n As Integer) Dim j As Integer a(n) = 1 While a(n) <= 4 If n < keta - 1 Then Call saiki(n + 1) Else a(keta) = 10 For j = 1 To keta - 1 a(keta) = a(keta) - a(j) Next j If 1 <= a(keta) And a(keta) <= 4 Then Cells(1, 1).Value = Cells(1, 1).Value + 1 For j = 1 To keta Cells(Cells(1, 1).Value, j + 1).Value = a(j) Next j Range("B" & Cells(1, 1).Value).Select End If End If a(n) = a(n) + 1 Wend End Sub |
11月10日(木) 13:29:06
38565 |
せ |
和が10になる組み合わせを全部書きだして、数え上げです。
フィボナッチの親戚さんですか・・・・ 場合の数で、数え上げ以外で解けたことが無い・・・・・・ |
11月10日(木) 14:34:57
38566 |
あめい |
算数トライアスロン、(正解なのかもわかりませんが)まだ3問しか解いていません。問題の読み方が悪いのか行き詰まった問題で止まってしまい、逃れるようにこちらに挑戦しました。数列でできるのではの勘はあったのですが、結局3桁2通り、4桁・・と書き出して解いていました。みなさんの美しい解答、うらやましいです。 |
11月10日(木) 22:28:56
38567 |