Challenge!

問題145 2009年の問題
Weekend Mathematics問題/問題145 2009年の問題

145.2009年の問題

[x]でxを超えない最大の整数を表します。たとえば、[2.5]=2、[0.2]=0です。 xが1から2009までの整数の値をとるとき、
  
は、何通りの値をとりえますか。

 ○ xを超えない最大の整数を表す[x]をガウス記号と呼びます。


問題の出典

広中杯ハイレベル中学数学に挑戦
算数オリンピック委員会監修
講談社ブルーバックス
2002年ファイナル問題 改題

答えと解説

解答・その1

(ペンネ−ム:巷の夢)

xの小さい値と大きな値を代入して表にまとめると、以下の様になる。

xx2/20[x2/20] 抜け数抜け個数
10.050    
20.20    
30.450    
40.80  
51.251  
61.81  
72.452  
83.23  
94.054  
1055  
116.056  
127.27  
138.458  
149.89  
1511.2511101
1612.812131
1714.4514151
1816.216171
1918.0518191
202020211
2122.0522231
2224.224251
2326.4526271
2428.82829,302
2531.2531321
2633.83334,352
2736.453637,382
2839.23940,412
2942.054243,442
30454546,472
3148.054849,502
3251.25152,532
3354.455455,562
3457.85758,59,603
3561.256162,632
3664.86465,66,673
3768.456869,70,713
3872.27273,74,753
3976.057677,78,793
40808081,82,833
4184.058485,86,873
4288.28889,90,913
4392.459293,94,953
4496.89697,98,99,1004
45101.25101102,103,1043
46105.8105106,107,108,1094
47110.45110111,112,113,1144
     
2003200600.45200600 199
2004200800.8200800 200
2005201001.25201001 199
2006201201.8201201 200
2007201402.45201402 200
2008201603.2201603 200
2009201804.05201804  

即ち、抜け数の数に限らず、1〜199までは同じ数の抜け数が必ず10箇所づつ存在する。 但し、抜け数200個は4箇所である。因って、
(1+2+3+・・・・・+198+199)×10+200×4=199800となる。
この数を201804から引くと、2004となるが、0も存在するので一つ加え、求めるものは2005である。


解答・その2

(ペンネ−ム:浜田明巳)

エクセルのマクロで解きました.答は2005通りです.2009通りの答になるような問題だとさらに良かったかな?

Option Explicit
Const MAX As Long = 1000000
Sub Macro1()
    Sheets("Sheet1").Select
    Cells(1, 1).Value = 0
    Dim x As Long
    Dim xx As Long
    Dim a(MAX) As Long
    Dim kotae As Long
    Dim j As Long
    For j = 1 To MAX
      a(j) = 0
    Next j
    For x = 1 To 2009
      xx = Int(x * x / 20)
      a(xx) = 1
      Cells(x, 2).Value = x
      Cells(x, 3).Value = xx
      Range("C" & x).Select
    Next x
    kotae = 0
    For j = 0 To MAX
      kotae = kotae + a(j)
    Next j
    Cells(1, 1).Value = kotae
    Range("A1").Select
End Sub
 
--------------------------------------------------------------------------------
Power up the Internet with



解答・その3

(ペンネ−ム:杖のおじさん)

答え 2005個です。

解1.
F(1)=INT(1`2/20)=0 F(2)=INT(2`2/20)=0 F(3)=INT(3`2/20)=0 F(4)=INT(4`2/20)=0
F(5)=INT(5`2/20)=1 F(6)=INT(6`2/20)=1 F(7)=INT(7`2/20)=2 F(8)=INT(8`2/20)=3

上記からF(7)〜F(2009)まではそれぞれ異なる整数である事が分かります。
従って(2009−7)+1=2003
F(1)F(6)までの2を加算して2003+2=2005個です。

解2.
CASIO FX -870P及びFX-890Pでプログラムを作り数えました。

 10, PRINT ”2009ネン ノ モンダイ” ; C=1: D=0  
 20, IF  INKEY$= ” ”  THEN  20  
 30, FOR  X=1  TO  2009
 40, E=INT(X^2/20) : PRINT ” * ” ;  
 50, IF  E>D  THEN  C=C+1  
 60, D=E   
 70, NEXT  X  
 80, CLS : BEEP : BEEP : PRINT”セイスウ ノ カズハ” ;C; ”コ デス” 
 90, IF  INKEY$= ” ”  THEN  90  
 100, GOTO  10  

上記のプログラムの説明
20行でプログラムは停止していますので何かのキーを押すと20行〜70行の2009回の計算をします。 80行でCLSで表示画面を消して2回のBEEP音で計算結果が出たことを教えてくれます。 そして90行でプログラムは停止していますので何かのキーを押すと10行に戻ります、 計算中は40行のプログラムで1回の計算で*が表示されますので2009回*が連続して表示され計算中であることが分かります。
CASIO FX-870Pで計測するとスタートして6分18秒で結果2005と表示されます。

Office2007のエクセルのユーザーフォームで作りました。答えが瞬時に表示されます。
テキストボックスに数字を入れると前の答えが消えます。右側にコードが書いてあります。





解答・その4

(ペンネ−ム:のっこん)

f(1)=f(2)=f(3)=f(4)=0
f(5)=f(6)=1
f(7)=2
f(8)=3
f(9)=4
f(10)=5

(x+1)2-x2=2x+1 だから
x≧10 の時、(x+1)2>x2+20
よってx≧10の時、f(x)とf(x+1)が同じ値をとることはない
2009-4=2005(答え)


解答・その5

(ペンネ−ム:kohji)

x>9のとき
(x+1)2-x2=2x+1>20
従って[x2/20]の値とxは一対一に対応する。また
[12/20]=0,[22/20]=0,[32/20]=0,[42/20]=0,[52/20]=1,
[62/20]=1,[72/20]=2,[82/20]=3,[92/20]=4,[102/20]=5
なので、f(x)は全部で2009-4=2005通りを取りうる。


解答・その6

(ペンネ−ム:オヤジ)

(T)1≦x≦10のとき
 (@)1≦x≦4のとき
   
   従って f(x)=0
 (A)x=5、6のとき  f(x)=1
 (B)7≦x≦10のとき
   f(7)=2、f(8)=3、f(9)=4、f(10)=5

(U)x>10のとき
 (x+1)−x=2x+1≧21より
 f(x+1)>f(x):f(x+1)、f(x)は自然数
 求める数は、 2009 ―(3+1)=2005
 ∴ 2005


解答・その7

(ペンネ−ム:転位反応)

x=1,2,3, …10に対して、f(x)を求めると以下の通り。

[x/20]f(x)
1[1/20]0
2[4/20]0
3[9/20]0
4[16/20]0
5[25/20]1
6[36/20]1
7[49/20]2
8[64/20]3
9[81/20]4
10[100/20]5

さて、二つの連続する整数x, x+1に対して、f(x)が異なる整数 を取るためには、

   f(x+1)−f(x)=[(x+1)/20]−[x/20]≧1 

[x+2x+1]≧[x+20] と変形して
2x+1≧20 から x≧9.5
よって、整数x≧10に対して、f(x)は全て異なる整数を取る
x=1,2,3, …9 に対して、5通り
x=10,…,2009に対して、2000通り
計 2005通り (解答)


解答・その8

(ペンネ−ム:スモークマン)

(10*k+a)2=100k2+20ak+a2 なので、、、
[x2/20]=5k2+ak+[a2/20]

0≦a≦4・・・a2<20・・・0
52=25・・・1
62=36・・・1
72=49・・・2
82=64・・・3
92=81・・・4

k が1以上ならすべて異なる。
つまり、x が10以上ならすべて異なる。
2009-9=2000
1〜9 までは、上から、5種類なので、
2000+5=2005 通り
でいいのかな ♪


解答・その9

(ペンネ−ム:三角定規)

x≧10 のとき
 {( x+1)2−x2}/20=( 2x+1)/20≧( 2・10+1)/20>1
だから
x≧10 のとき [ ( x+1)2/20 ]≠[ x2/20 ]
よって,x が 10 以上の整数のとき [ x2/20 ] は異なる値をとる。

x=1,2,3,4 のとき [ x2/20 ]=0
x=5,6 のとき    [ x2/20 ]=1
x=7 のとき      [ x2/20 ]=2
x=8 のとき      [ x2/20 ]=3
x=9 のとき      [ x2/20 ]=4
x=10 のとき     [ x2/20 ]=5

であるから,x が 1 から 2009 までの整数値をとるとき,[ x2/20 ] は,2005 通り の値をとる。


解答・その10

(ペンネ−ム:迷子の雄猫)

f(x) の値は必ず整数である。

(命題1)x が1から10までの整数の値をとるとき、
   f(x) は6通りの値をとる。

(命題2)x≧10 の場合、f(x) < f(x+1) である。
   すると、x が11から2009までの整数の値をとるとき、
   f(x) は1999通りの値をとることになる。
よって、xが1から2009までの整数の値をとるとき、f(x)は、2005通りの値をとりえる。

(命題1)の証明
f(1) =[1÷20]=0
f(5) =[5×5÷20]=[25÷20]=1
f(7) =[7×7÷20]=[49÷20]=2
f(8) =[8×8÷20]=[64÷20]=3
f(9) =[9×9÷20]=[81÷20]=4
f(10) =[10×10÷20]=[100÷20]=5
f(11) =[11×11÷20]=[121÷20]=6
上記より、
x が1から10までの整数の値をとるとき、f(x) は6通りの値をとる。
証明終わり

(命題2)の証明
1からaまでの整数で、20の倍数である整数の個数が、f(a)と等しい。
g(x)=xと定義する。
x ≧ 10の場合、
g(x+1)−g(x)−1
 =(x+1)−(x)−1
 = x+2x+1−(x)−1
 = 2x+1−1
 ≧ 20
であるから、g(x)を超えてg(x+1)以下の整数のうち、20の倍数である整数 が少なくとも1つは含まれる。
証明終わり


解答・その11

(ペンネ−ム:teki)

答え  2005通り

最初は設定が2009までなので、ぎょえ〜!と思いましたが、11まで 計算すればいいとわかって、ほっとしました。
なぜ、11までかというと、n−(n−1)=2n−1 なので、これ以上 は、前の数との差が1を超えるため、与式は全て異なる数となるからです。
実際に11までは、与式=0,0,0,0,1,1,2,3,4,5,6 となり、7種類の数が現れます。
で、2009−11+7=2005通り ってわけです。


解答・その12

(ペンネ−ム:ぐりま)

初めに x1, x2≧10 のとき、 x1≠x2 ならば、f(x1)≠f(x2) をいいます。
x1≠x2 なので、x1>x2とします。
12−x22 = (x1+x2)(x1−x2) ≧ 20(x1−x2) ≧ 20
よって、  x12 /20 ≧ x22/20+1
従って、 [x12 /20] > [x22/20]
即ち、 f(x1) ≠ f(x2) が成り立ちます。
このことから、x が10から2009までの2000個の値をとれば、f(x)は2000個の異なる値をとります。

一方、f(1)=f(2)=f(3)=f(4)=0, f(5)=f(6)=1, f(7)=2, f(8)=3, f(9)=4, f(10)=5 ですから、
x が1から9までのときは、f(x)は4以下の異なる5個の値をとり、
x が10以上のときは、f(x)は5以上の2000個の異なる値をとることになります。

以上のことから、f(x)は、異なる2005個の値をとります。・・・・・・・(答)


解答・その13

(ペンネ−ム:haya)

問題145 2009年の問題 の解は 2005 です。
【解き方】
隣り合った整数が同じ値になったとすると、


   x < 9.5

従って、せいぜい 1〜8 までの範囲の整数の重複を調べて除外すればよい。
実際、

xf(x)
10
20
30
40
51
61
72
83

となり、重複は4個なので、取り得る値の数は 2009 - 4 = 2005


解答・その14

(ペンネ−ム:T_Tatekawa)

まず,x=k の場合と x=k+1 の場合を比較します.
(k+1)2 = k2 + (2 k+1)
です.もし (2k+1) > 20 ならば,
[(k+1)2/20] と [k2/20] は異なる値を取ります.
2k+1 > 20 となる整数 k は 10 です.よって x が 10 以上 2009 以下の範囲では,[x2/20] は全て異なる値となります.
x が 1 から 9 までの時の,各々の 2 乗は
1, 4, 9, 16, 25, 36, 49, 64, 81, 100
なので,[x2/20] は
0, 0, 0, 0, 1, 1, 2, 3, 4, 5
で 6 通りです.答えは
(2009-10) + 6 = 2005 通り


解答・その15

(ペンネ−ム:バルタン星人)

答え:2005
ちょっと見、とっつきにくそうですが、Xが1増えた時に新たな数となるかどう かを考えれば良いだけの簡単な新春サービス問題。

X=1〜4ではf(x)=0
X=5〜6はf(x)=1
X=7で2、X=8で3
X=9で4,X=10で5
X=11以上では、Xが1増えたとき二乗の数は20以上増加するので f(x)は必ず1以上増え、新しい数となる。
かぶっている数は4個なので2009−4=2005



解答・その16

(ペンネ−ム:夜ふかしのつらいおじさん)

f(x)=
(x+1)−x=2x+1>20より
x≧10の整数で
f(x)<f(x+1)となります。
だから、x=10までを調べてみます。

x 省く個数
11 0.050 
240.2001
390.4502
4160.8003
5251.251 
6361.8014
7492.452 
8643.203 
9814.054 
101005.005 

以上から
f(x)の取りえる値の個数は
2009−4=2005通り。

正解者

teki バルタン星人 スモークマン
のっこん 転位反応 夜ふかしのつらいおじさん
浜田明巳 巷の夢 haya
杖のおじさん 迷子の雄猫 オヤジ
T_Tatekawa ぐりま 三角定規
kohji

コメント

とりあえず小さい方から確認して、10くらいまでいけば検討がつきますね。 f(x)のとりうる値を知りたいので、重なりだけ調べればよいわけです。 そして、10くらいまで調べてあれば、もうそれで充分というわけです。


top