【測驗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