数列 - 中学入試から

 投稿者:山中和義  投稿日:2013年 2月 7日(木)11時36分53秒
  問題
コインがたくさんあり、そこからA君とB君の2人が交互にコインを取っていきます。
1回目はA君が1枚、2回目はB君が3枚、3回目はA君が5枚、4回目はB君が7枚、5回目はA君が9枚、…
というように、2人は自分が前に取った枚数より4枚多くコインを取ります。
何回か取った後、2人の持っているコインの枚数を比べたところ、差が31枚でした。
コインを多く持っているのはどちらですか。
また、その人が最後に取ったコインは何枚ですか。

答え
具体的に見ていくと、
 1回目: Aが1枚なので、差=1
 2回目: Bが3枚なので、差=3-1=2
 3回目: Aが5枚なので、差=5-3+1=3
 4回目: Bが7枚なので、差=7-5+3-1=4
 5回目: Aが9枚なので、差=9-7+5-3+1=5
 6回目: Bが11枚なので、差=11-9+7-5+3-1=6
 7回目: Aが13枚なので、差=13-11+9-7+5-3+1=7
  :
から、差は回数と同じ値を示す。
これより、差が31となるのは、「奇数回はA 偶数回はB」より、31回目のAの番である。
取る枚数は、2*回数-1より、2*31-1=61枚である。
(終り)

考察
 1回目: Aが1枚なので、差=1
 2回目: Bが3枚なので、差=3-1=2
 3回目: Aが5枚なので、差=5-3+1=5-(3-1)=3
 4回目: Bが7枚なので、差=7-5+3-1=7-(5-3+1)=4
 5回目: Aが9枚なので、差=9-7+5-3+1=9-(7-5+3-1)=5
 6回目: Bが11枚なので、差=11-9+7-5+3-1=11-(9-7+5-3+1)=6
 7回目: Aが13枚なので、差=13-11+9-7+5-3+1=13-(11-9+7-5+3-1)=7
  :
と解釈すれば、差は、
 自分が取る枚数 - 1つ前の相手の差
として求まる。
また、
 1回目: Aが1枚なので、差=1
 2回目: Bが3枚なので、差=3-1=2
 3回目: Aが5枚なので、差=5-3+1=(5-3)+1=3
 4回目: Bが7枚なので、差=7-5+3-1=(7-5)+{3-1}=4
 5回目: Aが9枚なので、差=9-7+5-3+1=(9-7)+{5-3+1}=5
 6回目: Bが11枚なので、差=11-9+7-5+3-1=(11-9)+{7-5+3-1}=6
 7回目: Aが13枚なので、差=13-11+9-7+5-3+1=(13-11)+{9-7+5-3+1}=7
  :
と解釈すれば、差は、
 { 自分が取る枚数 - 相手が取った枚数 } + 1つ前の自分の差
として求まる。
(終り)

別解
具体的に見ていくと、
 Aの和 1     6    15    28    45    66    91    …
    ┌──┬──┬──┬──┬──┬──┬──┬
    1  3  5  7  9 11 13 15 17 19 21 23 25 …
     └──┴──┴──┴──┴──┴──┴
 Bの和   3    10    21    36    55    78    …
 差  1  2  3  4  5  6  7  8  9 10 11 12 13 …
となる。
これより、
 回数をkとすると、kが奇数のときA 偶数のときBである。
 取る枚数は2k-1、持っている枚数はk(k+1)/2で与えられる。
となる。
k回目のとき、その差はk(k+1)/2-(k-1)k/2=kなので、31になるのは、k=31
よって、奇数回なのでA、その取る枚数は2*31-1=61枚である。
(終り)

別解
コインを取った回数をmとする。
具体的に見ていくと、
  m  1  2  3  4  5  6 …
  A  1  5  9 13 17 21 …
  B  3  7 11 15 19 23 …

 和A  1  6 15 28 45 66 …
 和B  3 10 21 36 55 78 …
となる。
これより、
 A,Bがそれぞれ取る枚数は4(m-1)+1,4(m-1)+3、持っている枚数はm(2m-1),m(2m+1)となる。
となる。
コインを多く持っている人がAの場合(Aが取ったとき)
 Bが(m-1)回目、Aがm回目のときなので、その差は、m(2m-1)-(m-1){2(m-1)+1}=2m-1
 これは奇数になる。よって、取る枚数は、2m-1=31より、m=16 ∴4*(16-1)+1=61枚
コインを多く持っている人がBの場合(Bが取ったとき)
 A,B共にm回目のときなので、m(2m+1)-m(2m-1)=2m
 これは偶数になる。よって、奇数31には成り得ない。
(終り)


!その1 シミュレーション

!1回目 差は1
LET P=1 !取る枚数
LET A=1 !持っている枚数
PRINT "1回: Aが取る枚数=";P; " 持っている枚数=";A

!2回目 差は2
LET Q=3
LET B=3
PRINT "2回: Bが取る枚数=";Q; " 持っている枚数=";B

!3回目以降
LET K=2 !回数
DO
   LET K=K+1

   IF MOD(K,2)=1 THEN !奇数回はAの番
      LET P=P+4
      LET A=A+P
      PRINT STR$(K);"回: Aが取る枚数=";P; " 持っている枚数=";A
   ELSE !Bの番
      LET Q=Q+4
      LET B=B+Q
      PRINT STR$(K);"回: Bが取る枚数=";Q; " 持っている枚数=";B
   END IF
LOOP UNTIL ABS(A-B)=31 !条件を満たすまで

PRINT K;"回"
PRINT "A=";P; "枚数="; A
PRINT "B=";Q; "枚数="; B


PRINT


!その2 シミュレーション

LET A=0 !1つ前の結果
LET B=0

LET K=0 !回数
DO
   LET K=K+1

   LET T=2*K-1 !取る枚数

   IF MOD(K,2)=1 THEN !奇数回はAの番
      LET A=T-B
      PRINT STR$(K);"回: Aが取る枚数=";T; " 差=";A
   ELSE !Bの番
      LET B=T-A
      PRINT STR$(K);"回: Bが取る枚数=";T; " 差=";B
   END IF
LOOP UNTIL A=31 OR B=31 !条件を満たすまで

PRINT K;"回"
IF MOD(K,2)=1 THEN !奇数回はAの番
   PRINT "A=";2*K-1; "枚数="; K*(K+1)/2
   PRINT "B=";2*K-3; "枚数="; (K-1)*K/2
ELSE !Bの番
   PRINT "A=";2*K-3; "枚数="; (K-1)*K/2
   PRINT "B=";2*K-1; "枚数="; K*(K+1)/2
END IF

END


実行結果

1回: Aが取る枚数= 1  持っている枚数= 1
2回: Bが取る枚数= 3  持っている枚数= 3
3回: Aが取る枚数= 5  持っている枚数= 6
4回: Bが取る枚数= 7  持っている枚数= 10
5回: Aが取る枚数= 9  持っている枚数= 15
6回: Bが取る枚数= 11  持っている枚数= 21
7回: Aが取る枚数= 13  持っている枚数= 28
8回: Bが取る枚数= 15  持っている枚数= 36
9回: Aが取る枚数= 17  持っている枚数= 45
10回: Bが取る枚数= 19  持っている枚数= 55
11回: Aが取る枚数= 21  持っている枚数= 66
12回: Bが取る枚数= 23  持っている枚数= 78
13回: Aが取る枚数= 25  持っている枚数= 91
14回: Bが取る枚数= 27  持っている枚数= 105
15回: Aが取る枚数= 29  持っている枚数= 120
16回: Bが取る枚数= 31  持っている枚数= 136
17回: Aが取る枚数= 33  持っている枚数= 153
18回: Bが取る枚数= 35  持っている枚数= 171
19回: Aが取る枚数= 37  持っている枚数= 190
20回: Bが取る枚数= 39  持っている枚数= 210
21回: Aが取る枚数= 41  持っている枚数= 231
22回: Bが取る枚数= 43  持っている枚数= 253
23回: Aが取る枚数= 45  持っている枚数= 276
24回: Bが取る枚数= 47  持っている枚数= 300
25回: Aが取る枚数= 49  持っている枚数= 325
26回: Bが取る枚数= 51  持っている枚数= 351
27回: Aが取る枚数= 53  持っている枚数= 378
28回: Bが取る枚数= 55  持っている枚数= 406
29回: Aが取る枚数= 57  持っている枚数= 435
30回: Bが取る枚数= 59  持っている枚数= 465
31回: Aが取る枚数= 61  持っている枚数= 496
31 回
A= 61 枚数= 496
B= 59 枚数= 465

1回: Aが取る枚数= 1  差= 1
2回: Bが取る枚数= 3  差= 2
3回: Aが取る枚数= 5  差= 3
4回: Bが取る枚数= 7  差= 4
5回: Aが取る枚数= 9  差= 5
6回: Bが取る枚数= 11  差= 6
7回: Aが取る枚数= 13  差= 7
8回: Bが取る枚数= 15  差= 8
9回: Aが取る枚数= 17  差= 9
10回: Bが取る枚数= 19  差= 10
11回: Aが取る枚数= 21  差= 11
12回: Bが取る枚数= 23  差= 12
13回: Aが取る枚数= 25  差= 13
14回: Bが取る枚数= 27  差= 14
15回: Aが取る枚数= 29  差= 15
16回: Bが取る枚数= 31  差= 16
17回: Aが取る枚数= 33  差= 17
18回: Bが取る枚数= 35  差= 18
19回: Aが取る枚数= 37  差= 19
20回: Bが取る枚数= 39  差= 20
21回: Aが取る枚数= 41  差= 21
22回: Bが取る枚数= 43  差= 22
23回: Aが取る枚数= 45  差= 23
24回: Bが取る枚数= 47  差= 24
25回: Aが取る枚数= 49  差= 25
26回: Bが取る枚数= 51  差= 26
27回: Aが取る枚数= 53  差= 27
28回: Bが取る枚数= 55  差= 28
29回: Aが取る枚数= 57  差= 29
30回: Bが取る枚数= 59  差= 30
31回: Aが取る枚数= 61  差= 31
31 回
A= 61 枚数= 496
B= 59 枚数= 465

 

旅人算 - 中学入試から

 投稿者:山中和義  投稿日:2013年 2月12日(火)13時49分21秒
  > No.2982[元記事へ]

問題
A君とB君がX地点を同時に出発して、Y地点までそれぞれ一定の速さで歩き続けました。
C君は2人が出発してから5分後にX地点を出発し、一定の速さで走り続けて2人を追いかけました。
C君は出発して5分後にB君に追いつき、その10分後にA君に追いつきました。
(1)A君、B君、C君の速さの比をできるだけ簡単な整数の比で表しなさい。
C君はA君に追いついて、すぐに来た道を同じ速さで引き返しました。
(2)次に、C君がB君に出会うのは、C君がA君に追いついてから何分後ですか。分数で答えなさい。
C君はB君に出会って、すぐにまた同じ速さでY地点に向かったところ、A君と同時にY地点に到着しました。
(3)C君の走った道のりの合計が5kmのとき、X地点からY地点までの距離を求めなさい。

答え
(1) ※移動した距離は同じで1とする
B君がC君と出会うまでに移動した距離を1とすると、速度=距離÷時間なので
B君の速度:C君の速度=1/(5+5):1/5=1/10:1/5=1:2=2:4
同様に、A君の速度:C君の速度=1/(5+5+10):1/(5+10)=1/20:1/15=3:4
A君の速度:B君の速度:C君の速度=3:2:4

(2) ※B君の速度を1とする
C君がA君に追いついたとき、B君とC君のそれぞれが移動した(X地点からの)距離は、
B君の速度を1とすると、1×(5+5+10)=20、2×(5+10)=30となる。その差は、30-20=10である。
この距離をB君とC君が向い合って移動するので、
B君とC君の速度の和で移動する時間として、10÷(1+2)=10/3分である。

(3) ※A君の速度を1とする → C君の速度が分数になるので、A君の速度を3とする
C君がA君と同時にY地点に到着した時間について
 C君がB君に出会ったとき、A君とC君との距離は、反対方向に移動した距離なので、
 A君の速度を3とすると、(3+4)×(10/3)=70/3となる。
 この距離はC君がA君に再度追いついた距離なので、
 C君とA君の速度の差で移動する時間として、(70/3)÷(4-3)=70/3分である。
よって、C君の歩いた道のりは、4×(5+10+10/3+70/3)=500/3
X地点からY地点までの距離は、A君が歩いた距離なので、3×(5+5+10+10/3+70/3)=140
したがって、5:□=500/3:140より、□=5×140÷(500/3)=21/5=4.2km
(終り)

別解 ダイヤ図(運行図表)
(1)
C君の速度を1とする。これをもとにA君とB君の速度を表す。
横軸を時間、縦軸を距離とするグラフを考える。速度×時間=距離より、
C君について、
 傾き1、点(5,0)を通るので、Y-0=1*(X-5) ∴Y=X-5
B君について、
 原点と点P(5+5,(5+5)-5)を通るので、Y={(((5+5)-5)-0)/((5+5)-0)}X ∴Y=(1/2)X
A君について、
 原点と点Q(5+5+10,(5+5+10)-5)を通るので、Y={(((5+5+10-5)-0)/((5+5+10)-0)}X ∴Y=(3/4)X
したがって、3/4:1/2:1=3:2:4
(2)
傾き-1(Y=X-5に直交する)、点Qを通る直線を考える。
この直線は、Y-{(5+5+10)-5}=-(X-(5+5+10)) ∴Y=-X+35
この直線とY=(1/2)Xとの交点Rが、C君がB君に出会ったときを表す。
連立方程式を解いて、X=70/3
したがって、70/3-(5+5+10)=10/3[分]
(3)
傾き1(Y=X-5に平行である)、交点Rを通る直線を考える。
この直線は、Y-35/3=(X-70/3) ∴Y=X-35/3
この直線とY=(3/4)Xとの交点が、C君がA君と同時にY地点に到着したときを表す。
連立方程式を解いて、X=140/3、Y=35
C君の走った道のりは、ひたすらまっすぐに走った距離に相当するので、
X=140/3をY=X-5に代入して、140/3-5=125/3
したがって、125/3:35=5:□より、□=5*35/(125/3)=21/5=4.2[km]
(終り)


SET WINDOW -1,50,-1,50 !表示領域
DRAW grid(5,5) !座標を描く

!(1)
SET LINE COLOR 4
DEF f(x)=x-5 !直線C ∵傾き1、点(5,0)を通る
CALL fvLINE(1,-5, 0,50)

SET LINE COLOR 1
LET t=5+5 !点(0,0)、点P(5+5,(5+5)-5)を通る
CALL fvPOINT(t,f(t),"P")
LET b=(f(t)-0)/(t-0)
CALL fvLINE(b,0, 0,50) !直線B Y=(1/2)X

SET LINE COLOR 2
LET t=5+5+10 !点(0,0)、点Q(5+5+10,(5+5+10)-5)を通る
CALL fvPOINT(t,f(t),"Q")
LET a=(f(t)-0)/(t-0)
CALL fvLINE(a,0, 0,50) !直線A Y=(3/4)X

!(1)の答え 3/4:1/2:1=3:2:4


!(2)
SET LINE COLOR 4
LET t=5+5+10
CALL fvLINE(-1,t+f(t), 0,50) !直線D Y-f(t)=-(X-t) ∵傾き-1、点Qを通るより


CALL fvINTERSECTION(-1,t+f(t),b,0, x,y) !交点R
CALL fvPOINT(x,y,"R")
PRINT x; y !debug
PRINT x-t !(2)の答え


!(3)
CALL fvLINE(1,-x+y, 0,50) !直線E Y-y=(X-x) ∵傾き1、点Rを通るより

CALL fvINTERSECTION(1,-x+y,a,0, xx,yy) !交点Y
CALL fvPOINT(xx,yy,"Y")
PRINT xx; yy !debug

CALL fvPOINT(xx,f(xx),"S")
PRINT f(xx);":"; a*xx; "= 5 : □"
PRINT a*xx * 5 / f(xx) !(3)の答え

END

!関数でお絵かき
! #2967
! #2018
!を参照のこと

!●作図ルーチン

EXTERNAL SUB fvPOINT(x,y,S$) !点(x,y)
DRAW disk WITH SCALE(0.5)*SHIFT(x,y) !※大きさは調整が必要である
PLOT TEXT ,AT x+0.5,y+0.5: S$ !※位置は調整が必要である
END SUB

EXTERNAL SUB fvLINE(A,B, P,Q) !直線y=Ax+B, x∈[P,Q]
PLOT LINES: P,A*P+B; Q,A*Q+B
END SUB


!●計算ルーチン

EXTERNAL SUB fvINTERSECTION(A,B,C,D, x,y) !2直線y=Ax+Bとy=Cx+Dとの交点(x,y)を求める
IF A=C THEN
   PRINT "2直線は平行です。"; A;C
ELSE
   LET x=(D-B)/(A-C)
   LET y=A*x+B
END IF
END SUB


実行結果 ※有理数モードにて

70/3  35/3
10/3
140/3  35
125/3 : 35 = 5 : □
21/5



 

戻る