1. 程式人生 > >9個點畫10條直線,要求每條直線上至少3個點

9個點畫10條直線,要求每條直線上至少3個點

最容易想到的就是試試把9個點擺成規整的3行,如下圖所示:

但只能畫出8條線。

其實,每條線穿過3個點,則10條線要穿過30個點,這要求平均每個點上有大於3條線穿過。 圖中中心和4個角上的點都有>=3條線穿過,而另外4個點則僅有兩條線穿過。所以必然要移動這4個點。   把第一行和第三行中間的點往右移,這樣減少了一條線(即圖中虛線),但可以增加兩條線(即圖中紅線)。這樣能畫出9條線,已經有轉機了。結果見下圖:   再看,圖中上下是對稱的,但左右並不對稱。把第二行最左邊的點右移到對稱的位置,如下圖所示,則減少了一條線(即圖中虛線),但增加了兩條線(圖中紅線),剛好10條線,OK。結果見下圖: