あまちゅあごるふぁ〜まさる |
2^7+2*2^6+3*2^5+4*2^4+5*2^3+6*2^2+7*2^1+8=502
これでいいんかな・・・ |
神戸
6月15日(木) 0:09:50
MAIL:top-amateur@u01.gate01.com 27592 |
トトロ@N |
久々のリアルタイムです。
1*128+2*64+3*32+4*16+5*8+6*4+7*2+8*1=128 |
兵庫県明石市
6月15日(木) 0:11:18
27593 |
ミキティ |
#27592 の通りですね。
│ │ │ │ │ │ │ │ │ │ │ ┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫ │ │ │ │ │ │ │ │ │ │ │ 1─2─3─4─5─6─7─8─9─┼─┤ │ │ │ │ │ │ │ │ │ │ │ └─1─1─1─1─1─1─1─1─┴─┘ A B C D E F G H I J K A列から道路に行く場合、残り70mなので、1×2^7 B列から道路に行く場合、残り60mなので、2×2^6 C列から道路に行く場合、残り50mなので、3×2^5 …… よって、 1×2^7+2×2^6+3×2^5+4×2^4+5×2^3+6×2^2+7×2^1+8×2^0=502. |
6月15日(木) 0:11:59
27594 |
みかん |
全事象…2^10=1024通り をあらかじめ計算した上で、
100mになる地点ごとに「赤線を通らない場合」を計算。 1024−(1+9+36+84+126+126+84+36+9+10+1) =1024−522 =502通り |
6月15日(木) 0:12:28
27595 |
Taro |
はじめは右上まで行くものと考えてました(汗)
#27592〜#27594と同様に解きました。 |
じたくぅ
6月15日(木) 0:13:24
27596 |
数楽者 |
赤線を歩いた最初の10mを取り除くと、90m歩く問題になります。
条件を満たさないものは、北方向に歩く距離が10m以下の10通りなので、 答えは 512-10=502 です。 |
横浜
6月15日(木) 0:16:49
MAIL:iida@ae.keio.ac.jp 27597 |
吉川 マサル |
んと、想定していた解法は、
(2^10 - 20)÷2=502 ってな感じです。どうでしょう? |
PowerBook G4
6月15日(木) 0:17:21
MAIL:masaru-y@san su.org HomePage:算チャレ 27598 |
<Melvy> |
赤線を通らない場合について,どこで赤線をまたぐか (あるいはまたがないか) で分類.
1024-(2^7+2×2^6+3×2^5+4×2^4+5×2^3+6×2^2+7×2+8+9+10+1) =1024-522 =502 で,案の定 522 を送ってしまったわけで (汗).ケアレスミス多すぎ…. |
6月15日(木) 0:18:35
HomePage:ある大学院生<Melvy>の日記 27599 |
kasama |
import java.util.*;
public class Question505 { private static int count = 0; public static void main(String args[]) { scan(0, 0, 0, new ArrayList()); System.out.println(count); } private static final void scan(int p, int x, int y, List list) { list.add(new Integer(y)); if (p >= 100) { for (int i =0; i < list.size()-1;++i) if (((Integer) list.get(i)).intValue() == 20 && ((Integer) list.get(i+1)).intValue() == 20) { ++count; break; } return; } scan(p+10, x+10, y, new ArrayList(list)); scan(p+10, x, y+10, new ArrayList(list)); } } |
6月15日(木) 0:28:51
27600 |
ヘラクレス辻。 |
#27599とまったく同じく力ずくで解きました。
|
第参新埼玉市
6月15日(木) 0:29:22
HomePage:ドンピシャ 27601 |
かっくん |
力ずくで解いていたら、皆さんが書き込まれている
1×8+2×7+4×6+8×5+16×4+32×3+64×2+128×1 という式が得られました。 |
6月15日(木) 0:51:31
27602 |
枝葉図を書いて |
255+127+63+31+15+7+3+1=502と出した。僕も力ずくです。/('x')\ |
6月15日(木) 1:27:49
27603 |
ノボケイン |
#27592 の通り。 |
6月15日(木) 2:47:12
27604 |
圭太 |
おはようございます。
以前にも、似たようなものでましたね。 あれの応用です。^^; |
アルビレックス
6月15日(木) 6:12:33
HomePage:圭太の研究所 27605 |
fumio |
おはようございます。 |
6月15日(木) 7:54:25
27606 |
hidy |
おはようございます。
1024から赤道を歩かない場合を引いて求めました。 簡単なやり方があるんですね。 |
福岡
6月15日(木) 8:52:17
HomePage:hidy先生の算数教室 27607 |
uchinyan |
はい、おはようございます。今回の問題は、過去に似た問題があったような気がします。
まず、100m 進むのは、100/10 = 10ます 進むことなので、その終点は、10 * 10 の正方形の真北から真東への対角線上の格子点になります。 また、一回に、北又は東にしか進まないので、これは、2^10 通りです。これから、赤い部分を通らないものを引きます。 まず、赤の下の二つの終点は、赤い部分を通りません。これは、10 + 1 = 11 通り。 次に、残りの8個の終点は、赤い部分に南から来て止まるか(終点の場合)、北へ上がるかが、赤い部分を通りません。 これは、ます目を南北に一つ減らすことと同じです。その場合の赤線をよぎらない 1 通りを除いて、2^9 -1 通り。 したがって求めるのは、2^10 - 11 - (2^9 - 1) = 2^9 - 10 = 512 - 10 = 502 通りになります。 |
ネコの住む家
6月15日(木) 9:03:59
MAIL:uchi@sco.bekkoame.ne.jp 27608 |
スモークマン |
やっとできた。。。(^^;
地道に・・・ 1*2^6+(1+2)*2^5+(1+2+3)*2^4+(1+2+3+4)*2^3+(1+2+3+4+5)*2^2+(1+2+3+4+5+6)*2+(1+2+3+4+5+6+7)*1+(1+2+3+4+5+6+7+8)=64+96+96+80+60+42+28+36=502 最初、uchinyanさんのように考えたんですが、、、計算間違ったのかな〜、入れなくって。。。(^^; |
金光
6月15日(木) 11:41:27
MAIL:kennji72001@yahoo.co.jp 27609 |
迷子の雄猫 |
北に2回歩いた直後は必ず東に歩く、と考えて
A回東、1回北、B回東、1回北、1回東、C回東か北のどちらか=2のC乗通り A+B+C=7、ABCすべて0以上 という条件で全部羅列しました。力任せだなあ。 |
6月15日(木) 12:31:17
27610 |
uchinyan |
一応、掲示板を読みました。
まず、私の#27608に、ちょっと補足。 >次に、残りの8個の終点は、赤い部分に南から来て止まるか(終点の場合)、北へ上がるかが、赤い部分を通りません。 >これは、ます目を南北に一つ減らすことと同じです。その場合の赤線をよぎらない 1 通りを除いて、2^9 -1 通り。 分かると思いますが... これは、ます目一つ分だけ常に南から北へと移動するので、「ます目を南北に一つ減らす」場合と同じ場合の数になります。 そしてこれは、ます目移動が一つ減るので、9 * 9 の正方形で赤い部分が一つ下がったものになり、 赤い部分を「よぎらない 1 通りを除いて、2^9 -1 通り」になります。 さて、皆さんの解法です。 #27592, #27593, #27594, #27596, #27602, #27604 南から赤い部分に来た後で、赤い部分を西から東へと少なくとも一ます移動する、ことに注目して、 真面目に一つずつ計算した解法ですね。 #27595 考え方は、私の#27608と同じだと思います。#27608との違いは、括弧の中をどう計算したかでしょうか。 ここらは、始点から各終点までの場合の数を真面目に数えると (10C2 - 9C1) + (10C3 - 9C2) + (10C4 - 9C3) + (10C5 - 9C4) + (10C6 - 9C5) + (10C7 - 9C6) + (10C8 - 9C7) + (10C9 - 9C8) + (10C10 - 9C9) なのです。 これから、 (10C0 + 10C1 + 10C2 + 10C3 + 10C4 + 10C5 + 10C6 + 10C7 + 10C8 + 10C9 + 10C10) - (9C0 + 9C1 + 9C2 + 9C3 + 9C4 + 9C5 + 9C6 + 9C7 + 9C8 + 9C9) - 10C1 としておいて、二項定理を使って、 2^10 - 2^9 - 10 とすれば、これは、#27608です。 一方、 (10C0 + 10C1 + 10C2 + 10C3 + 10C4 + 10C5 + 10C6 + 10C7 + 10C8 + 10C9 + 10C10) - (9C0 + 9C1 + 9C2 + 9C3 + 9C4 + 9C5 + 9C6 + 9C7 + 9C8 + 9C9 + 10) としておいて、最初の項だけに二項定理を使って、 1024 - (1 + 9 + 36 + 84 + 126 + 126 + 84 + 36 + 9 + 1 + 10) とすれば、これは、#27595になります。 #27597 なるほど。これはうまいなぁ。私流の言い方だと... 少なくとも、赤い部分のます目一つを通るので、ます目を東西に一つ減らす場合と同じ場合の数になり、 9 * 9 で赤い部分の位置は変わらない場合で、赤い部分を全く通らない 9 + 1 = 10 通りを除いて、2^9 - 10 = 502 通り。 この方が、ずっと簡単ですね。 #27598 うーん、2 で割ると、#27597と同じだから、正しいとは思うのですが、直接の式の意味はよく分からないです ^^; 2 で割るのだから、対称性か1:1対応か、何かだろうなぁ... お、そうか、次の#27599などと#27594などとの比較から分かりました。次の#27599などの考察も参照してください。 除くべき赤い部分を南から北へ横切る場合の数と、赤い部分を西から東へと少なくとも一ます移動する場合の数とは一致します。 しかし、除くべきものは、赤い部分を南から北へ横切らないものもありまず。 これは、赤い部分で止まる 9 通りと、赤い部分にとどかない 10 + 1 = 11 通りで、合計 20 通り。 そこで、求める場合の数は、全体 2^10 通りからこの差を引いて半分にすればいいから、 >(2^10 - 20)÷2=502 というわけでしょうか。 でも、ちょっと難しいかなぁ。私は、#27597の方が好きかなぁ。 #27599, #27601 なるほど。#27595や私の#27608と同じ方向の解法ですが、除く場合の数の計算の仕方の更なる別バージョンですね。 赤い部分を南から北へとまたぐことに注目した点は、私の#27608に近く、それを真面目に計算した解法だと思います。 除く部分の計算式の一部、赤い部分を南から北へまたぐ場合の数、が、#27594などの計算式と一致する点が面白いです。 #27600 プログラム。初学者には、ちょっとした練習問題でしょうか。 #27603 系統樹ですか。場合の数の正統派ですね。ただ、 >255+127+63+31+15+7+3+1=502 この式の左辺は、 (2^6 - 10) + (2^7 - 1) + (2^6 - 1) + (2^5 - 1) + (2^4 - 1) + (2^3 - 1) + (2^2 - 1) + (2^1 - 1) と規則的なので、系統樹にしても、何かありそうですね。 #27605 >以前にも、似たようなものでましたね。 確かにありましたよね。 #27607 考え方は、#27595, #27599, #27601, 私の#27608のどれかのようです。 >簡単なやり方があるんですね。 #27597かな? #27598かな? #27609 赤い部分を 一番左から一ます目だけを通る:1*2^6 一番左から二ますを通る+一番左から二ます目だけを通る:(1+2)*2^5 一番左から三ますを通る+一番左から二ます目から二ますを通る+一番左から三ます目だけを通る:(1+2+3)*2^4 ... と計算しているようです。 ただ、#27594などの方が簡単かな。 #27610 条件を絞り込んでのしらみつぶしでしょうか。でも、系統樹と同様に、最終手段ですよね。 (少し追加) 済みません。間違えたようです。 この解法は、結局、#27594などと同じになるようです。 |
ネコの住む家
6月15日(木) 21:15:51
MAIL:uchi@sco.bekkoame.ne.jp 27611 |
しんちゃん |
格子点の座標を左下を(0,0)、右上を(10,10)とすると、
(0,0) を出発して 10目盛り進む進み方は、2^10 通りあります。 このうち、到達点が (10,0) になるのは 1通り ( 9,1) になるのは 10通り ( 8,2) になるのは 9通り あります。 残りの、(2^10−20)通りは、赤線上に到達して、さらに進みます。 このとき、到達した赤線上の点から右に進む場合と、上に進む 場合がありますが、どこの赤線上の点に到達した場合も、右に 進む進み方の場合の数と、上に進む進み方の場合の数は等しく なります。 今は、右に進む場合の数を求めれば良いので、 (2^10−20)の ちょうど半分ということになります。 結局、(2^10−20)÷2=502(通り) |
6月15日(木) 22:28:56
27612 |
uchinyan |
#27612
これは、マサルさんの#27598の式、#27611のその解釈#27598の項、と同じですね。 |
ネコの住む家
6月15日(木) 22:31:45
MAIL:uchi@sco.bekkoame.ne.jp 27613 |
jun |
やっと解けました。 |
6月16日(金) 2:35:04
MAIL:juun2000@hotmail.com 27614 |
ハラギャーテイ |
おはようございます
MATLABプログラムです。 |
北九州
6月16日(金) 9:02:40
HomePage:信号処理に挑戦 27615 |
??? |
Option Explicit
Sub Macro1() Sheets("Sheet1").Select Cells(1, 1).Value = 0 Range("A1").Select Dim a(10) As Integer Call saiki(1, a()) Range("A1").Select End Sub Sub saiki(ByVal n As Integer, ByRef a() As Integer) a(n) = 1 '1:→, 2:↑ While a(n) <= 2 If n < 10 Then Call saiki(n + 1, a()) Else Call check(a()) End If a(n) = a(n) + 1 Wend End Sub Sub check(ByRef a() As Integer) Dim x As Integer Dim y As Integer Dim tootta As Integer Dim j As Integer x = 0 y = 0 tootta = 0 j = 1 While tootta = 0 And j <= 10 If y = 2 And a(j) = 1 Then tootta = j Else If a(j) = 1 Then x = x + 1 Else y = y + 1 End If j = j + 1 End If Wend If tootta > 0 Then Cells(1, 1).Value = Cells(1, 1).Value + 1 x = 0 y = 0 For j = 1 To 10 If a(j) = 1 Then x = x + 1 Else y = y + 1 End If Cells(Cells(1, 1).Value, j + 1).Value = direction(a(j)) + ":(" + strr(x) + "," + strr(y) + ")" If y = 2 And a(j) = 1 Then Cells(Cells(1, 1).Value, j + 1).Value = Cells(Cells(1, 1).Value, j + 1).Value + "*" End If Next j Range("B" & Cells(1, 1).Value).Select End If End Sub Private Function direction(ByVal n As Integer) As String If n = 1 Then direction = "東" Else direction = "北" End If End Function Private Function strr(ByVal n As Integer) As String strr = Right(Str(n), Len(Str(n)) - 1) End Function |
6月17日(土) 9:16:21
27616 |