平成24年9月23日
[流れ星]
第280回数学的な応募問題解答
<解答募集期間:9月2日〜9月23日>
[4桁の電話番号]
(1)0000から9999までの10000通りの電話番号のうち、0,1が少なくとも1回ともに現れる番号は全部でいくつあるか。
(2)0から9999までの整数のうちで、0,1が少なくとも1回ともに現れる整数はいくつあるか。
NO1「uchinyan」 09/02 15時43分受信 更新9/23
どうせなので n 桁で解いてしまいましょう。
(1) (解法1)
n 桁のうち,0,1 のある桁の数を k 桁,0 のある桁の数を m 桁とすると,
0,1 が少なくとも 1 回ともに現れるのだから,k >= 2,m >= 1,k-m
>= 1 で,
0,1 が現れる桁を選ぶのに nCk 通り,その k 桁内での 0,1 の配置に kCm 通り,
0,1 以外の n-k 桁は 2 〜 9 なので 8^(n-k) 通り,となって,nCk * kCm * 8^(n-k) 個,
これを k = 2 〜 n,m = 1 〜 k-1 で足せばいいから,
Σ[k=2,n]{Σ[m=1,k-1]{nCk
* kCm * 8^(n-k)}}
= Σ[k=2,n]{nCk
* Σ[m=1,k-1]{kCm} * 8^(n-k)}
= Σ[k=2,n]{nCk
* (Σ[m=0,k]{kCm} - kC0 - kCk) * 8^(n-k)}
= Σ[k=2,n]{nCk
* ((1 + 1)^k - 1 - 1) * 8^(n-k)}
= Σ[k=2,n]{nCk
* (2^k - 2) * 8^(n-k)}
= Σ[k=2,n]{nCk
* 2^k * 8^(n-k)} - 2 * Σ[k=2,n]{nCk
* 8^(n-k)}
= (Σ[k=0,n]{nCk
* 2^k * 8^(n-k)} - nC0 * 2^0 * 8^(n-0) - nC1 * 2^1 * 8^(n-1))
- 2 * (Σ[k=0,n]{nCk
* 1^k * 8^(n-k)} - nC0 * 1^0 * 8^(n-0) - nC1 * 1^1 * 8^(n-1))
= ((2 + 8)^n - 8^n - 2 * n * 8^(n-1)) - 2 * ((1 + 8)^n - 8^n - n *
8^(n-1))
= 10^n - 2 * 9^n + 8^n 個
この問題では,n = 4 なので,
10^4 - 2 * 9^4 + 8^4 = 10000 - 13122 + 4096 = 974 個
になります。
(解法2)
n 桁のうち 0,1 が少なくとも 1 回ともに現れるのだから,
まず,全体の 10^n 個から,0,1 が両方ともに 1 回も現れない 8^n 個を引きます。
しかしこの中には,まだ,片方しか現れない場合が残っているので,これも引きます。
これは,
1 〜 9 を使い 1 が少なくとも 1 回現れる場合 9^n - 8^n 個,と
0,2 〜 9 を使い 0 が少なくとも 1 回現れる場合
9^n - 8^n 個,です。
そこで,結局,
10^n - 8^n - (9^n - 8^n) - (9^n - 8^n) = 10^n - 2 * 9^n + 8^n 個
この問題では,n = 4 なので,
10^4 - 2 * 9^4 + 8^4 = 10000 - 13122 + 4096 = 974 個
になります。
(解法3)
n 桁のうち 0,1 が少なくとも 1 回ともに現れるのだから,
まず,全体の 10^n 個から,
0 が全く現れない場合 9^n 個と 1 が全く現れない場合 9^n 個を引きます。
ところが今度は,これでは,
0,1 が両方とも全く現れない場合 8^n 個を2回引いてしまっているので1回分を足します。
そこで,結局,
10^n - 9^n - 9^n + 8^n = 10^n - 2 * 9^n + 8^n 個
この問題では,n = 4 なので,
10^4 - 2 * 9^4 + 8^4 = 10000 - 13122 + 4096 = 974 個
になります。
(2) (解法1)
(1)より,整数が n-1 桁以下の場合で n 桁に足らない上位桁部分に 0 を補った場合の数は,
10^n - 2 * 9^n + 8^n 個,になります。
そこで,整数がちょうど n 桁の場合は,
n 桁目が 1 の場合
残りの n-1 桁に 0 が少なくとも 1 回現れればいいので 10^(n-1) - 9^(n-1) 個
n 桁目が 2 〜 9 の場合
残りの n-1 桁に(1)が使えて,8 *
(10^(n-1) - 2 * 9^(n-1) + 8^(n-1)) 個
で,合計,9 * 10^(n-1) - 17 * 9^(n-1) + 8^n 個,です。
そこで,整数が n 桁以下の場合には,k = 1 〜
n として k 桁の整数の場合を足せばいいので,
Σ[k=1,n]{9 * 10^(k-1) - 17 * 9^(k-1) + 8^k}
= 9 * (10^n - 1)/(10 - 1) - 17 * (9^n - 1)/(9 - 1) + 8 * (8^n -
1)/(8 - 1)
= (10^n - 1) - 17(9^n - 1)/8 + 8(8^n - 1)/7 個
この問題では,n = 4 なので,
(10^4 - 1) - 17(9^4 - 1)/8 + 8(8^4 - 1)/7 = 9999 - 13940 + 4680 =
739 個
になります。
(解法2)
(1)より,整数が n-1 桁以下の場合で n 桁に足らない上位桁部分に 0 を補った場合の数は,
10^n - 2 * 9^n + 8^n 個,になります。
そこで,上位 k 桁に 0 が並び n-k 桁以下で 0 が現れず 1 が少なくとも 1 回現れる場合,
9^(n-k) - 8^(n-k) 個,を k = 1 〜 n で足し上げたものを(1)の結果から引けばいいので,
(10^n - 2 * 9^n + 8^n) - Σ[k=1,n]{9^(n-k)
- 8^(n-k)}
= (10^n - 2 * 9^n + 8^n) - (9^n - 1)/(9 - 1) + (8^n - 1)/(8 - 1)
= 10^n - (17 * 9^n - 1)/8 + (8 * 8^n - 1)/7
= 10^n - 17(9^n - 1)/8 - 2 + 8(8^n - 1)/7 + 1
= (10^n - 1) - 17(9^n - 1)/8 + 8(8^n - 1)/7 個
この問題では,n = 4 なので,
(10^4 - 1) - 17(9^4 - 1)/8 + 8(8^4 - 1)/7 = 9999 - 13940 + 4680 =
739 個
になります。
(感想)
「0,1が少なくとも1回ともに現れる」という条件が,最初,ピンと来なくて迷いましたが,
要するに,0,1 が両方とも同時に 1 回以上現れる,つまり,0002,1234 などはなし,
と解釈しましたが,それでよかったでしょうか。
場合の数は,いろいろと考えられるので割と好きな分野なのですが,
問題文の解釈に迷うことも多く,その意味では,少し苦手です。
まぁ,数学というよりも国語の問題なんですが,常識がない,ともいえるかなぁ (^^;
NO2「浜田明巳」 09/03 17時32分受信
更新9/23
(1)i). 0,1が合計4個のとき,
ア). 0が3個,1が1個,または0が1個,1が3個のとき,
aaab,aaba,abaa,baaa({a,b}={0,1})
の4種類なので,
4×2=8(個)
イ). 0が2個,1が2個のとき,
aabb,abab,abba({a,b}={0,1})
の3種類なので,
3×2=6(個)
ii). 0,1が合計3個のとき,0が2個,1が1個,または0が1個,1が2個なので,
aabc,aacb,abac,acab,abca,acba,baac,caab,baca,caba,bcaa,cbaa
({a,b}={0,1};c=2,3,4,………,9)
の12種類なので,
12×2×8=192(個)
iii). 0,1が合計2個のとき,0が1個,1が1個なので,
abcd,acbd,acdb,cabd,cadb,cdab
({a,b}={0,1};c,d=2,3,4,………,9)
の6種類なので,
6×2×82=768(個)
まとめると,
(8+6)+192+768=974(個)
(2)i).
2桁のとき,10の1個.
ii). 3桁のとき,
ア). 0が2個,1が1個のとき,100の1個.
イ). 0が1個,1が2個のとき,110,101の2個.
ウ). 0が1個,1が1個のとき,
10a,1a0,a10,a01(a=2,3,4,………,9)
の4種類なので,
4×8=32(個)
iii). 4桁のとき,
ア). 0が3個,1が1個のとき,1000の1個.
イ). 0が1個,1が3個のとき,1110,1101,1011の3個.
ウ). 0が2個,1が2個のとき,1100,1010,1001の3個.
エ). 0が2個,1が1個のとき,
100a,10a0,1a00,a001,a010,a100(a=2,3,4,………,9)
の6種類なので,
6×8=48(個)
オ). 0が1個,1が2個のとき,
110a,11a0,101a,1a10,10a1,1a01,a110,a101,a011
(a=2,3,4,………,9)
の9種類なので,
9×8=72(個)
カ). 0が1個,1が1個のとき,
10ab,1a0b,1ab0,a01b,a0b1,a10b,a1b0,ab01,ab10
(a,b=2,3,4,………,9)
の9種類なので,
9×82=576(個)
まとめると,
1+(1+2+32)+(1+3+3+48+72+576)=739(個)
(別解)(1)余事象を考える.
i). 0が0個,1が0個のとき,
abcd(a,b,c,d=2,3,4,………,9)
となるので,
84=4096(個)
ii). 0が1個,1が0個,または0が0個,1が1個のとき,
abcd,bacd,bcad,bcda(a=0,1;b,c,d=2,3,4,………,9)
の4種類なので,
4×2×83=84=4096(個)
iii). 0が2個,1が0個,または0が0個,1が2個のとき,
aabc,abac,abca,baac,baca,bcaa
(a=0,1;b、c=2,3,4,………,9)
の6種類なので,
6×2×82=768(個)
iv). 0が3個,1が0個,または0が0個,1が3個のとき,
aaab,aaba,abaa,baaa
(a=0,1;b=2,3,4,………,9)
の4種類なので,
4×2×8=64(個)
v). 0が4個,1が0個,または0が0個,1が4個のとき,0000,1111の2個
まとめると,
4096+4096+768+64+2=9026(個)
これが余事象の数なので,求める個数は,
10000−9026=974(個)
(参考)問題文に「少なくとも」という文句が入っているときは,大抵余事象を考える方が簡単であるが,この場合は簡単ではなかった.
(別解)(2)(1)の答から,1桁,2桁,3桁の数で0を使わない場合の数を引けばよい.
i). 1桁のとき,1個.
ii). 2桁のとき,2桁の正の整数の内で,数字0を使わないものを選べばよい.
ア). 十の位が1のとき,11〜19の9個.
イ). ア).以外で一の位が1のとき,21〜91の8個.
iii). 3桁のとき,3桁の正の整数の内で,数字0を使わないものを選べばよい.
ア). 1を3個使うとき,111の1個.
イ). 1を2個使うとき,
11a,1a1,a11(a=2,3,4,………,9)
の3種類なので,
3×8=24(個)
ウ). 1を1個使うとき,
1ab,a1b,ab1(a,b=2,3,4,………,9)
の3種類なので,
3×82=192(個)
まとめると,
1+(9+8)+(1+24+192)=235(個)
故に求める個数は,
974−235=739(個)
(別解)エクセルのマクロで解いてみた.上記の答案よりも断然楽であった.場合分けがほとんどいらない.
Option Explicit
Dim a(4) As Integer
Sub Macro1()
Sheets("Sheet1").Select
Cells(1, 1).Value = 0
Call saiki(1)
Range("A1").Select
End Sub
Sub saiki(ByVal n As
Integer)
Dim b(1) As Integer
Dim j As Integer
a(n) = 0
While a(n) <= 9
If n < 4 Then
Call saiki(n + 1)
Else
For j = 0 To 1
b(j) = 0
Next j
For j = 1 To 4
If a(j) <= 1 Then
b(a(j)) = 1
End If
Next j
If b(0) + b(1) = 2 Then
Cells(1, 1).Value = Cells(1, 1).Value + 1
For j = 1 To 4
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
Option Explicit
Sub Macro2()
Sheets("Sheet2").Select
Cells(1, 1).Value = 0
Dim n As Integer
Dim nn As String
Dim n0 As Integer
Dim a(1) As Integer
Dim j As Integer
For n = 10 To 9999
For j = 0 To 1
a(j) = 0
Next j
nn = Right(Str(n), Len(Str(n)) - 1)
For j = 1 To Len(nn)
n0 = Val(Mid(nn, j, 1))
If n0 <= 1 Then
a(n0) = 1
End If
Next j
If a(0) + a(1) = 2 Then
Cells(1, 1).Value = Cells(1, 1).Value + 1
Cells(Cells(1, 1).Value, 2).Value = n
Range("B" & Cells(1, 1).Value).Select
End If
Next n
Range("A1").Select
End Sub
「浜田明巳」 09/05 12時26分受信
更新9/23
(別解)(2)余事象を使って解く.
10〜9999まで9990個ある.
i). 2桁の場合,10以外であればよいので,11〜99まで89個ある.
ii). 3桁の場合,
ア). 1が3個の場合,111の1個.
イ). 0が2個,1が0個の場合,a00(a=2,3,4,………,9)の8個.
ウ). 0が0個,1が2個の場合,11a,1a1,a11(a=2,3,4,……,9)
の3種類であるので,
3×8=24(個)
エ). 0が1個,1が0個の場合,ab0,a0b(a,b=2,3,4,………,9)
の2種類であるので,
2×82=128(個)
オ). 0が0個,1が1個の場合,ab1,a1b,1ab(a,b=2,3,4,………,9)
の3種類であるので,
3×82=192(個)
カ). 0が0個,1も0個の場合,abc(a,b,c=2,3,4,………,9)
であるので,
83=512(個)
iii). 4桁の場合,
ア). 1が4個の場合,1111の1個.
イ). 0が3個,1が0個の場合,a000(a=2,3,4,………,9)の8個.
ウ). 0が0個,1が3個の場合,111a,11a1,1a11,a111(a=2,3,4,……,9)
の4種類であるので,
4×8=32(個)
エ). 0が2個,1が0個の場合,ab00,a0b0,a00b(a,b=2,3,4,………,9)
の3種類であるので,
3×82=192(個)
オ). 0が0個,1が2個の場合,
ab11,a1b1,a11b,1ab1,1a1b,11ab(a,b=2,3,4,………,9)
の6種類であるので,
6×82=384(個)
カ). 0が1個,1が0個の場合,
abc0,ab0c,a0bc(a,b,c=2,3,4,………,9)
の3種類であるので,
3×83=1536(個) キ). 0が0個,1が1個の場合,
abc1,ab1c,a1bc,1abc(a,b,c=2,3,4,………,9)
の4種類であるので,
4×83=2048(個)
ク). 0が0個,1も0個の場合,abcd(a,b,c,d=2,3,4,………,9)
であるので,
84=4096(個)
故にまとめると,
9990−{89+(1+8+24+128+192+512)+(1+8+32+192+384+1536+2048+4096)}
=9990−(89+865+8297)
=9990−9251=739(個)
NO3「新俳人澄朝」09/06 16時26分受信 更新9/23
NO4「スモークマン」 09/10 17時46分受信
「スモークマン」 09/11 22時45分受信 更新9/23
(1)0000から9999までの10000通りの電話番号のうち、0,1が少なくとも1回ともに現れる番号は全部でいくつあるか。
4個、1,0のとき…2^4-2=14
3個、1,0のとき…4*8*(2^3-2)=192
2個、1,0のとき…4C2*8^2*(2^2-2)=768
合計=768+192+14=974 個
「スモークマン」 09/16 20時41分受信
「スモークマン」 09/19 01時01分受信 更新9/23
(2)0から9999までの整数のうちで、0,1が少なくとも1回ともに現れる整数はいくつあるか。
二桁以上しかあり得ない…
xx…10…=1
xxx…1xx+yxx=2*10-1+8*2=35
xxxx…1xxx+yxxx=11xx+10xx+1yxx+y1xx+y0xx+yyxx
=2*10-1+10^2+8*(2*10-1)+8*(2*10-1)+8*(2*10-1)+8^2*2
=20-1+100+3*8*19+128
=19*25+100+128
=703
合計=703+35+1=739 個
ってことですかぁ...^^;...Orz〜想いの外、手こずりました...上手い方法を知りたいです ^^
Good Night ☆
NO5「にいばりZ12」09/11
01時09分受信 更新9/23
(1)0000から9999までの10000通りの電話番号のうち、0,1が少なくとも1回ともに現れる番号は全部でいくつあるか。
A=0,B=1,K=2〜9とします
AとBは必ず入っていなければならないので
数字のパターンはAAAB,AABB,ABBB,ABKK,AABK,ABBKの6種類になり各数の順列を求めればいいことになります。
AAAB,AABB,ABBBは2進数で0001から1110の14通り
{4!/3!+4!/(2!*2!)+4!/3!=14とも計算できます}
ABKKは4!/2!×8×8=768(Kが8個あるので)
AABKは4!/2!×8=96
ABBKも4!/2!×8=96
合計は14+768+96+96=974通りになります。
(2)0から9999までの整数のうちで、0,1が少なくとも1回ともに現れる整数はいくつあるか。
(1)と同様に計算します
A=0,B=1,K=2〜9とします
AとBは必ず入っていなければならないので
数字のパターンはAAAB,AABB,ABBB,ABKK,AABK,ABBKの6種類になり各数の順列を求めればいいことになります。
ここで、Aが先頭にきてはいけないことに注意し
AAAB,AABB,ABBBは2進数で10から1110から11と111を除く11通り
ABKKは4!/2!×8×8-3!/2!×8×8=576通り・・・・Aが先頭に来る場合の数を引きます
AABKは4!/2!×8-2!×8=80通り・・・・AAが先頭に来る場合の数を引きます
ABBKは4!/2!×8-3!/2!×8=72通り・・・・Aが先頭に来る場合の数を引きます
合計は11+576+80+72=739通りになります。
NO6「Iga」
09/14 22時43分受信 更新9/23
Igaです。珍しく続けて解答します。とりあえず場合分けをして数えました。
(1)0000から9999までの10000通りの電話番号のうち、0,1が少なくとも1回ともに 現れる番号は全部でいくつあるか。
@0000〜0999
・01□□ 十の位、一の位ともに10通りなので 10×10=100通り
・0□1□ 百の位は1を除いた9通り、一の位は10通りで 9×10= 90通り
・0□□1 百の位、十の位ともに1を除くので9通り 9× 9= 81通り
合計して、100+90+81=271通り
A1000〜1999
・10□□
・1□0□
・1□□0
これらは、@の0と1を入れ替えたものなので、 @と同じく271通り
B2000〜2999
・201□ 10通り
・20□1 1以外の 9通り
・2□01 0以外の 9通り
・210□ 1以外の 9通り
・21□0 0以外の 9通り
・2□10 1,0以外の 8通り
合計して、 10+9+9+9+9+8=54通り
C3000〜9999
2000番台(B)と同様なので、Bとあわせて 54×8=432通り
D @、A、Cを合計して、
271×2+432=974通り
(2)0から9999までの整数のうちで、0,1が少なくとも1回ともに現れる整数はいくつあるか。
(1)の場合の数から上位が0の場合を除けばいいので、
(a) 0〜 9 0通り
(b) 10〜99 10のみの 1通り
(c) 100〜999
・10□ 10通り
・1□0 9通り
・□01 8通り
・□10 8通り
合計して 10+9+8+8=35通り
これに、(1)のA、Cを加えると
1+35+271+432=739通り
(自信がなかったので、エクセルで0000〜9999についてカウントして確かめました。)
皆さん、答えがわかったら、一部でも構いませんから、解答とペンネームを添えて、
メールで送ってください。待っています。