【測驗M08】2000全國網際網路程式設計比賽決賽試題(刪去一題二元樹)           [回前頁]

一、是否相交

寫一程式判斷在同一平面上之一線段與一矩形是否相交.

輸入檔說明:

輸入一線段之起點與終點座標: (Xstart,Ystart) - (Xend,Yend)

以及一矩形對角座標(X1,Y1)-(X2,Y2)

輸入格式為Xstart,Ystart,Xend,Yend,X1,Y1,X2,Y2

輸出檔說明

輸出則為 T 或 F 表示相交與否. (相交的座標並不一定是整數)

範例輸入

4,9,11,2,1,5,7,1

8,10,7,3,2,6,0,2

範例輸出

F

F

二、聖誕樹

以輸出字串的方式繪出聖誕樹,樹葉部分及樹幹都是由 '*' 代表,背景以 '-' (減號)代表。每一行測試資料為一個奇數代表三角形部分的高度(H),樹幹部分的長度(L)等於(H/2)取整數。樹的寬度(W)等於(H*2-1),單位為字元。樹幹必須位於樹的中央。相對於每一行測試資料,輸出一個聖誕樹。

計算範例:

H=3, L=H/2=3/2=1, W=H*2-1=3*2-1=5

H=5, L=H/2=5/2=2, W=H*2-1=5*2-1=9

輸入檔說明

每一行含一個大於0小於39的測試數字

輸出檔說明

相對於每一行測試資料,輸出一個聖誕樹,樹與樹之間不能有空白行

範例輸入

3

5

7

範例輸出

--*--

-***-

*****

--*--

----*----

---***---

--*****--

-*******-

*********

----*----

----*----

------*------

-----***-----

----*****----

---*******---

--*********--

-***********-

*************

------*------

------*------

------*------

三、質數

判斷輸入數字是否為質數,質數只能被自己或1整除。

輸入檔說明

每一行為一個大於2小於100000的測試數字

輸出檔說明

輸出T代表測試數字為質數,接著輸出測試數字,之間不能有空白

範例輸入

7

17

3599

5999

59999

 

範例輸出

T7

T17

F3599

F5999

T59999

四、馬的最小移動步數

象棋棋盤(如下圖左)由9條(a-i)直線10條(0-9)橫線構成, 棋子僅能下在線與線的交點, 假設棋盤上僅有馬一顆棋子, 請寫出一個程式求從棋盤的給定兩點的馬的最小移動步數. 馬步的移動方式如下圖右所示:不超出棋盤原則下, 馬可向左(或右)走一步再向上(或下)走兩步; 或向左(或右)走兩步再向上(或下)走一步;示意圖如下,假設馬的位置為 c2, 則其下一步可能移動的位置為b0,d0,e1,e3,d4,b4,a3,a1等八點

輸入檔說明

1. 輸入檔內包括多筆測試資料,一行只有一筆測試資料

2. 每筆測試資料格式為棋盤起點和終點位置,中間以一個空白分隔, 棋盤位置以一個英文字母(a-i),和一個數字(0-9) 代表.

輸出檔說明

針對每筆測試資料分別輸出一行結果, xx yy n ; xx 為測試資料棋盤起點; yy 為終點, n 為最少移動步數, 資料間皆以一個空白分隔

 

範例輸入

e2,e4

a1,b2

b2,c3

a1,h8

範例輸出

e2,e4,2

a1,b2,2

b2,c3,2

a1,h8,6

五、Ugly數字

Ugly 數字的定義為:該數之質因數必須為 2, 3 或 5。

當然了,依照慣例,1 也算是 Ugly 數字。

在此列舉一串數列:

1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15

這些就是前 11 個 Ugly 數字。

輸入檔說明

讀入某一數字 N ,並且列印出第 N'th 個 Ugly 數字。

限制:此 N 為整數,1 < =N < =1500

輸出檔說明

列印出第 N'th 個 Ugly 數字

範例輸入

50

500

1500

範例輸出

243

937500

859963392