みかん |
20個のうちから3点を選ぶ→20C3=1140通り
ここから一直線上に並ぶもの(1)〜(4)を引いていく。 (1)真横に一直線→5C3×4=40通り (2)傾き1/2 or −1/2の直線上→1×4=4通り (3)傾き1 or −1の直線上→1×4+4C3×4=20通り (4)縦に一直線→4C3×5=20通り 以上より1140−(40+4+20+20)=1056通り。 |
8月1日(木) 0:18:36
40765 |
Mr.ダンディ |
「簡単!」と 喜んで急ぐあまり数え漏れ。
1直線となる3点の組は 縦 (4C3)*5=20 横 (5C3)*4=40 斜め(傾き ±1) (1+4+4+1)*2=20 斜め(傾き ±1/2) 2*2=4 したがって (20C3)−(20+40+20+4)=1056 と求めました。 【追記】みかんさんと 全く同じでしたね。(削除するまでもないかと残しておきます) |
8月1日(木) 0:56:41
40766 |
M |
桂馬の動きの位置にある4つを見落としてましたorz
#40759 算数では倍数に0は入れないようです。 (T書籍の算数の教科書にはその旨の記述があったと思ひます) |
第2グループ
8月1日(木) 0:31:02
40767 |
ようせん |
20C3通りのうち一直線上にある場合を全て除く、というよくある方法です。
・・・が、苦戦したorz |
8月1日(木) 0:33:30
40768 |
あめい |
久しぶりにさっとできました。求め方は前に書かれた方と全く同じです。
しかし、こういう問題こそみなさんがその手があったか〜というような求め方が出てくるのでしょうか?出てほしいなぁ。 |
8月1日(木) 0:35:30
40769 |
あめい |
「四角形は何個できるのでしょうか」にすると、むつかしくなりそうですね。
(求める気もなく、適当なことを言ってすいません。マサルさんならこの辺も検討されて三角形に落ち着かれたのではないかなどと・・・何となく思ってしまいました) |
8月1日(木) 0:44:50
40770 |
みかん |
>Mr.ダンディさん(#40766)
文字のみで書き込む都合で「C」や「傾き」などと書きましたが、やっていることは 算数の範囲内です。 図形問題ならば算数の範囲にとらわれなければいろいろな方法が出たりするものですが、 場合の数の分野で「具体的に何通りあるか?」という問題ではバリエーションが出にくいかも しれませんね。 時々出題される「漸化式っぽく解く」のが算数と違うところでしょうか。 |
8月1日(木) 2:12:18
40772 |
数樂 |
#40765, #40766さんと同じ |
8月1日(木) 2:17:31
HomePage:数樂 40773 |
数樂 |
ただ20C3以外は樹形図でやりました。 |
8月1日(木) 2:19:24
HomePage:数樂 40774 |
通りすがり |
プログラム例がないので。。。
十進BASICでやってみた(異なる3点が一直線上に並ばないものをカウントするだけの簡単なプログラム)。 DIM Pts(1 TO 20,1 TO 2) FOR x = 1 TO 5 FOR y = 1 TO 4 LET n = n+1 LET Pts(n,1) = x LET Pts(n,2) = y NEXT Y NEXT X FOR i = 1 TO 20 FOR j = i + 1 TO 20 FOR k = j + 1 TO 20 IF (Pts(j,1)-Pts(i,1))*(Pts(k,2)-Pts(i,2))-(Pts(j,2)-Pts(i,2))*(Pts(k,1)-Pts(i,1)) <> 0 THEN LET Count = Count + 1 NEXT K NEXT J NEXT I PRINT Count END |
8月1日(木) 8:41:20
40775 |
??? |
エクセルのマクロ
最初、三角形の判定を、三角不等式|a−b|<c<a+bでやったのですが、だめでした。 辺の長さを求める際に、不正確な切り捨て計算をやってしまったのですね。 Option Explicit '16(0,3) 17(1,3) 18(2,3) 19(3,3) 20(4,3) '11(0,2) 12(1,2) 13(2,2) 14(3,2) 15(4,2) '06(0,1) 07(1,1) 08(2,1) 09(3,1) 10(4,1) '01(0,0) 02(1,0) 03(2,0) 04(3,0) 05(4,0) Sub Macro1() Cells(1, 1).Value = 0 Dim n1 As Integer, n2 As Integer, n3 As Integer Dim n1x As Integer, n1y As Integer Dim n2x As Integer, n2y As Integer Dim n3x As Integer, n3y As Integer For n1 = 1 To 20 - 2 n1x = xy(n1, 1): n1y = xy(n1, 2) For n2 = n1 + 1 To 20 - 1 n2x = xy(n2, 1): n2y = xy(n2, 2) For n3 = n2 + 1 To 20 n3x = xy(n3, 1): n3y = xy(n3, 2) If (n2y - n1y) * (n3x - n2x) <> (n3y - n2y) * (n2x - n1x) Then Cells(1, 1).Value = Cells(1, 1).Value + 1 Cells(Cells(1, 1).Value, 2).Value = Str(n1) + "(" + Str(n1x) + "," + Str(n1y) + ")" Cells(Cells(1, 1).Value, 3).Value = Str(n2) + "(" + Str(n2x) + "," + Str(n2y) + ")" Cells(Cells(1, 1).Value, 4).Value = Str(n3) + "(" + Str(n3x) + "," + Str(n3y) + ")" End If Next n3 Next n2 Next n1 End Sub Private Function xy(ByVal n As Integer, ByVal j As Integer) As Integer If j = 1 Then xy = (n - 1) Mod 5 Else xy = (n - 1) \ 5 End If End Function |
8月1日(木) 10:45:53
40776 |
abcba@baLLjugglermoka |
計算間違いして一回誤答を送ってしまいました。
三角形が出来ないパターンは、(5c3)×4+(4C3)×5+10×2+4=84 (20C3)−84=1056 |
8月1日(木) 10:57:36
40777 |
uchinyan |
はい,こんにちは。さて,今回の問題は...
これは,比較的よく類題を見る問題ですね。こんな感じで。 20 個の点から 3 個の点を選ぶのは 20C3 = (20 * 19 * 18)/(3 * 2 * 1) = 1140 通り。 しかし,このうちで一直線上に並ぶものは除きます。これは, 傾きが ±0 のものは,5C3 * 4 = 10 * 4 = 40 通り, 傾きが ±1/2 のものは,1 * 2 * 2 = 4 通り, 傾きが ±1 のものは,(1 + 4C3 + 4C3 + 1) * 2 = (1 + 4 + 4 + 1) * 2 = 20 通り, 傾きが ±∞ のものは,4C3 * 5 = 4 * 5 = 20 通り, で,合計 40 + 4 + 20 + 20 = 84 通り。 そこで,三角形は 1140 - 84 = 1056 通り 作ることが出来ます。 なお,もちろん,算数では,傾きや ± は使えませんが, 図を使ってこれらを説明するのは容易なので,ここでは簡単のために使いました。 |
ネコの住む家
8月1日(木) 11:34:51
MAIL:uchi@sco.bekkoame.ne.jp 40778 |
uchinyan |
掲示板を読みました。
今回は,皆さん, 20 個の点から 3 個の点を選ぶ場合の数から,3 点が一直線上にある場合を引く という解法のようです。 |
ネコの住む家
8月1日(木) 11:53:20
40779 |
通りすがり |
#40776
> 三角不等式|a−b|<c<a+bでやったのですが 距離の定義の1つであって、三角形の定義ではないかと。 |
8月1日(木) 11:57:52
40780 |
マサル |
この問題、実は....昭和32年の東大(なんと二次!)の入試問題だったりします。設定その他、すべて同じです。 |
会社
8月1日(木) 12:05:56
HomePage:算チャレ 40781 |
ようせん |
C言語でも容易に計算できます
アルゴリズムとしては ①iを1〜20まで、jをi+1から20まで、kをj+1から20まで動かす ②i〜jのそれぞれの値を座標に変換する ③ベクトルの成分を用いた公式S=|ad-bc|/2によって三角形の面積を計算し、0でないものをカウントする ④カウントした値を表示 です。しっかり1056と表示されました。 |
8月1日(木) 13:19:25
40782 |
ゴンとも |
点の数を変えてできるように
三角形の3点を(a,b),(c,d),(e,f) 問題の点を横,縦の点の数ををそれぞれn1,n2として 十進basic で INPUT n1,n2 let s=0 FOR a=0 TO n1-1 FOR b=0 TO n2-1 FOR c=0 TO n1-1 FOR d=0 TO n2-1 if a=c and b=d then goto 30 FOR e=0 TO n1-1 FOR f=0 TO n2-1 if e=a and f=b then goto 10 if e=c and f=d then goto 10 IF ABS((c-a)*(f-b)-(e-a)*(d-b))/2=0 THEN GOTO 10 let s=s+1 10 next f 20 next e 30 next d 40 next c 50 next b 60 next a print s/6 END f9押してn1,n2を4,5としてokをクリックして ? 4,5 1056・・・・・・(答え) あとこのプログラムは他のサイトの自分のカキコを少しeditしただけなんですが今回は一直線上のものを除外で手で計算してもすぐだったので夜は手でやりました。 |
豊川市
8月1日(木) 18:08:36
40783 |
巷の夢 |
いやはや、ずっと3点を選び、3角形を作り、その個数は360にしかならず、何故入れないのか・・・・?昨日はあきらめ、本日、問題を再読するうちに、もしかして単純に3点を選び、直線となる場合を引くことを求めているのかなと・・・・。問題を恣意的に判断してしまった馬鹿さ加減にあきれております・・・。 |
真白き富士の嶺
8月2日(金) 8:08:22
40784 |
??? |
|a−b|<c<a+b
と a>0かつb>0かつc>0かつa<b+cかつb<c+aかつc<a+b は同値です。 |
8月2日(金) 9:23:43
40785 |