2022年8月4日 星期四

〔麗山經典五十題〕

 〔麗山經典五十題〕

1、假設長途電話費率的計算方式如下:
  (1) 任何從6:00PM(1800時)以後開始的通話將有50%的折扣。
  (2) 任何從8:00AM(0800時)以後開始的通話必須要付全額費用。
  (3) 任何電話都必須要課4%的營業稅。
  (4) 任何通話的一般費用是每五分鐘1.7元,未滿五分鐘以五分鐘計算。
  (5) 任何超過60分鐘以上的通話將有15%的折扣(已在扣除所有折扣後未
     加入稅金時的費用為準)。
  寫一程式,以讀入每次通話的起始時間(24時制)及通話時間來處理通話的
  實際費用(含稅金及折扣)。

2、寫一程式計算一組數字的乘積。你的程式必須再讀入0時停止,若讀入非0的
資料時,則跳過不予計算。

3、一個數的平方根可以使用下列公式,反覆計算近似得出
  NG=0.5(LG+N/LG)
  其中NG代表下一個猜測值,LG代表最後猜測值。寫一程式實做出過程的程
  式。(容忍值設定為0.005)
  提示:初次猜測值將是LG的開始值。程式將使用上述公式計算NG的值。若是
NG與LG的差值,小於可容忍值,則程式結束,NG即為平方根。否則,
NG將變成LG,並重複處理前述的計算。

4、一整數,若其位數和可被9整除則必可被9整除。請用此方法判斷一數是否可
被9整除。

5、銀行存款計算方式如下
N天後的存款=開始存入的錢 *(1+RATE/365)^ N
RATE:代表年利率
  寫一程式包含下列兩個功能
  (1)輸入開始的存款經過N天後,輸出存款為何?
  (2)輸入N天後的存款,求開始時要存入多少錢?

6、請問若有G公克之同位素鍶90(Sr90)(半衰期為29年),
  (1) 請列印出經過N年後,剩餘的重量為何?(剩餘量=初始重量G * C^(Y/H)
    ,H表放射性同位素之半衰期。C為e^-0.693,e=2.71828)
  (2) 輸入剩餘重量與初始重量G,求出所要經過的時間?

7、輸入一連串數字(<20個數字)直到0,對每一個數字判斷下列
  (1)是否為7、11、13的倍數 (2)位數和為奇數或偶數
  (3)平方根為何? (4)是否為質數?
  (5)列出所有質因數

8、輸入一變數N , 再輸入N 個數字成為一個含有N 個數的
集合A , 然後輸出所有這個A 集合的子集合。

Ex: N=3, A { 1, 2, 3 }
ANS: { 1 }
{ 2 }
{ 3 }
{ 1, 2 }
{ 1, 3 }
{ 2, 3 }
{ 1, 2, 3 }
{ } <--- 空集合

9、標會問題....
設今有一互助會會員50人,會期50月..每月會錢10000元自第二個月起標金為
 2500元,以後每個月遞減50元....問...若在第50月標下此會....和每月存
 10000元進銀行到50月後...何者錢會較多...並且算出差額....
銀行以複利算,年利率6%,以月計...
(標會原則...第一個月會頭可領除自己外所有人的會錢...以本例...會首在第
  一個月可得490000元...第二個月一人以2500標下....他拿到的錢仍然是490000元
  ....但他以後每個月需繳交12500的會錢..而且不得再標下此會....第三個月另一
人以2450元標下...他卻可得492500元....同理...第四個月的人拿到494950元....)

10、多項式A(x)和B(x)(最高維數25維)的相乘、相除、餘數

11、阿婆賣蛋,七個一數餘二,九個一數餘二,三個一數餘二,求<10000之
內的所有可能結果。

12、完全數
一個數等於它所有的因數和,這種數我們叫它完全數﹝不包括它本身﹞
像 6=1+2+3
28=1+2+4+7+14
請求出第三、第四以及第五個完全數

13、寫一程式包含下列三個功能,不能用內建的函數
  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。
  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。
  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。

14、讀入任意長度字串(最多50字元),對此字串坐下列處理動作:
  (1)列印出字串長度(使用者輸入的部分)。
  (2)以一個4*號字串取代每一個4字母單字,
     以一個3+號字串取代每一個3字母單字,
     以一個5?號字串取代每一個5字母單字,
     並列印新字串。

15、身分證認證
   確認一組身分證號碼是否合法??
   (1)英文代號以下表轉換成數字
   A=10 台北市   J=18 新竹縣   S=26 高雄縣
   B=11 台中市   K=19 苗栗縣   T=27 屏東縣
   C=12 基隆市   L=20 台中縣   U=28 花蓮縣
   D=13 台南市   M=21 南投縣   V=29 台東縣
   E=14 高雄市   N=22 彰化縣  * W=32 金門縣
   F=15 台北縣  * O=35 新竹市   X=30 澎湖縣
   G=16 宜蘭縣   P=23 雲林縣   Y=31 陽明山
   H=17 桃園縣   Q=24 嘉義縣  * Z=33 連江縣
  * I=34 嘉義市   R=25 台南縣
   (2)英文轉成的數字, 個位數乘9再加上十位數
   (3)各數字從右到左依次乘1、2、3、4....8
   (4)求出(2),(3)之和
   (5)求出(4)除10後之餘數,用10減該餘數,結果就是檢查碼,若餘數為0
     檢查碼就是0


16、找出所有小於5,000之正整數,其值等於其各個數字之階乘和。
   例:4!+0!+5!+8!+5!
= 24+1+120+40320+120
= 40585

17、試設計一程式可以比較一組資料(小於 10000 之正整數)中,
任意一位(或數位數)之大小。
輸入資料:任意一組小於 10000 之正整數,及所欲比較之位數 N
( 1 < N < 4 )
輸出資料:照條件敘述列印出來
這個條件要包含:
(1)由大而小列印出來
(2)由小而大列印出來
(3)第 N 位數之最大者
(4)第 N 位數之最小者
(5)取任意連續二項而比較其大小
(6)取任意連續三項而比較其大小
例:輸入資料 0237 0126 3175 1167
輸出條件 輸出資料
(1)由小而大列印出來 0126 0237 1167 3175
(2)第三位數之最小者 0126
(3)第一位數之最大者 3175
(4)第二,三位數之最大者 0237(即比較 23 12 17 16 之大小)


18、設計一程式可將最長含10個字元的字串讀入, 每一個字元均代表某一數值
   的羅馬數表示法。將讀入之羅馬數及其相對應之阿拉伯數一起列印出來。
 羅馬數和字元之對應表如下:
M 1000
D 500
C 100
L 50
X 10
V 5
I 1
  你的輸入有下列幾組:
    1.VII
    2.LXXXVII
    3.CCXIX
    4.MCCCLIV
    5.MMDCLXXIII
    6.MCDLXXVI

19、有二正整數A、B,若所有能整除A的正數之和等於B(包括1,但不包括A
   本身);反之亦然,則此二正整數稱為"friendly"。
  例如:220及284,其中能整除220之數有:
 1+2+4+5+10+11+20+22+44+55+110=284
  能整除284的有:
 1+2+4+71+142=220
  試設計一程式,找出所有成"friendly"關係的正整數組,且此正整數組
   中的兩個數均小 於500。

20、參考第18題,輸入阿拉伯數字,轉成羅馬數字。

21、輸入由許多字(WORDS)組成之字串,總長度不超過30 characters,字與
   字間由一個或一個以上之 SPACES或是以句點、逗號、驚嘆號隔開。設計
   一程式將此字串平均安排在長度為 40 characters 之 Array 中,使得
   第一字向左對齊,最後一字向右對齊 (Fully Justified);每個字之間
   以大約相等之SPACES隔開。印出輸入及重組後之字串。
   測試資料:
  LINK THIS PC TO THE HOST

22、輸入平面上任意五個點,試設計一程式能畫出一個最小的圓包含此五個
點這個程式的輸入為"任意五個點",其輸出為此五個點及所畫出的最
小圓
測試資料:(2,4),(4,6),(3,2),(7,3),(6,0)

23、若有一分、五分、一角、二角、二角五分、五角之銅板,各種銅板之個
   數設為無限多,求最少之銅板個數,其總值為吾人所期望之金額。
   測試資料:
(A)一元 (B)七角五分 (C)九角
(D)八角二分 (E)一元六角六分

24、設計一程式,可以和人玩#字遊戲,此遊戲可由參加遊戲者下或是電腦
   先下,亦可選擇持"O""X"字,當有一方到連成一線時電腦就必須立刻
   判誰是優勝者,下圖為#字遊戲的一範例。

│ │ │ │ X O│ │X
──┼──┼── ──┼──┼── ──┼──┼─
│ O │ ─→ │ O │ → │ O │
──┼──┼── ──┼──┼── ──┼──┼─
│ │ │ │ │ │X

O│ │ X O│ │X
──┼──┼── ──┼──┼─
│ O │ X ← │ O │
──┼──┼── ──┼──┼─
O│ │ X O│ │X

"X"贏

25、將真分數分解為分子為1之分數和。(大學甲組)
17 1 1 1 1
例:─ =─ + ─ + ─ + ──
21 2 4 17 1428
  測試資料:
57 12345 37
(A) ─ (B) ─── (C) ─
58 12346 67

35 123
(D)── ──
48 456
26、寫一程式能計算二元一次聯立方程式之根,即:輸入資料為A1,A2,A3,B1
   ,B2,B3六數,輸出資料為X及Y,使
A1*X+A2*Y=A3
B1*X+B2*Y=B3
如無法算出X及Y則輸出"NO SOLUTION",如有多組解;則請輸出使|X|+|Y|為
  最小值之任一組解。 (|X|為X之絕對值)

27、請設計一程式,輸入三個小於100000的十進位整數,其中前二個整數之和
   為第三個整數,但是每個十進位整數輸入時每一位都是以英文字母{A,B,
   ......., Z}之一代表,而且不相同字母表示不相同數字。
  例:輸入SEND MORE MONEY
              SEND 則 9567
+MORE +1085 為其一組解
──── ────
MONEY 10652

 輸入EAT MORE FOOD
            EAT 則 943
+MORE +7169 為其一組解
──── ────
FOOD 8112
  求出一組解(即是各字母所化表之值,可能不祇一組解,不必考慮無解之情形)。

28、設A及B分別代表兩正整數,一般情形,A/B在許多情形下為循環小數
   1/7 =0.142857,但如以電腦直接將兩數相除,無法獲得此結果,請設計程
   式,其輸入為A、B兩正整數,輸出為:如果不是循環小數,則直接印出其商
   數。如為循小數,則精確的算出其商值,並標出其循環節,可假設其不超過
   6位,並可設A<B。

29、魔術數字遊戲
   填數字方格的遊戲有很多種變化,如下圖所示的 4×4 方格中,我們要選擇
   從數字 1 到16 來填滿這十六個格子( Aij, 其中 i = 1…4, j = 1…4 )。
   為了讓遊戲更有挑戰性,我們要求下列六項中的每一項所指定的四個格子,
   其數字累加的和必須為 34︰
   * 四個角落上的數字,即 A11 + A14 + A41 + A44 = 34。
   * 每個角落上的 2×2 方格中的數字﹐例如左上角︰ A11 + A12 + A21 + A22 = 34。
   * 最中間的 2×2 方格中的數字,即 A22 +A23 +A32 +A33 =34。
   * 每條水平線上四個格子中的數字,即 Ai1 +Ai2 +Ai3 +Ai4 =34,其中 i = 1…4。
   * 每條垂直線上四個格子中的數字,即 A1j +A2j +A3j +A4j =34,其中 j = 1…4。
   * 每條對角線上四個格子中的數字,例如左上角到右下角︰
    A11 + A22 + A33 + A44 = 34。
    A11  A12  A13  A14
    A21  A22  A23  A24
    A31  A32  A33  A34
    A41  A42  A43  A44

   輸入檔說明:
   輸入檔案內會指定把數字 1 先固定在四個角落中的某一個角落內 (即指定把
    1 填在 A11,A14,A41,或 A44 的格子內)。輸入的資料只有一組,用 i、j
   表示第 i 橫列和第j直行的格子放數字 1。剩下的十五個格子,請按照前述六
   項條件用數字 2 到 16 來填滿。

   輸出檔說明:
   把全部的正確解答用 4×4 方格的格式 (即分成四列,每列四個數字) 寫到輸
   出檔。答案和答案之間,要以一個空白行相間,並且依序排好。排序的方式,
   是先從第一列的數字開始比較,每一列數字,由最左邊的數字開始比,數字較
   小的解答必須先輸出到檔案中。

30、設A0,B為兩正整數,設A0被B除後得餘數為A1,然後10*A1被B除得餘數為A2。
   依此類推即Ai+1為10*Ai/B之餘數,設計一程式。當A0及B為已知時能算出A0、
   A1、A2、……Ak直至第一個Ak=Ai(i<k)為止,並說明k之值

31、A[I][J]表示A為一個兩階陣列(TWO DIMENSIONAL ARRAY)它在數學上可以表示
   成一個I列J行的矩陣A:
  A(1,1) A(1,2)………A(1,J) ←…第1列
  A(2,1) A(2,2)……… : ←…第2列
  : : : : :
 A= : : A(i,j) : :
  : : : : :
  A(I,1) A(I,2)………A(I,J) ←…第I列
  : : :
  第 第 第 其中A(i,j)1≦i≦I,1≦j≦J
  1 2 J
 行 行 行 其矩陣A之第i列,第j行元素

   現有另一矩陣B為P列Q行之矩陣,若A之行數J等於B之列數P,則可以定義出矩
   陣乘法A×B為

C=A×B

     C(1,1)C(1,2)…C(1,Q) A(1,1)A(1,2)…A(1,J) B(1,1)B(1,2)…B(1,Q)
     C(2,1)C(2,2)…C(2,Q) A(2,1)A(2,2)…A(2,J) B(2,1)B(2,2)…B(2,Q)
   即 : : : = : : : × : : :
     : : : : : : : : :
     : : : : : : : : :
     C(I,1)C(I,2)…C(I,Q) A(I,1)A(I,2)…A(I,J) B(P,1)B(P,2)…B(P,Q)

  C為I列Q行之矩陣,其第i列q行之元素C(i,q)可以下法求得:
   C(i,q)=A(i,1)‧B(1,q)+A(i,2)‧B(2,q)+……+A(i,j)‧
   B(j,q)=ΣA(i,j)‧B(j,q)
    ( 1≦j≦J )

   例如:
   C之第2列第3行元素C(2,3)=A(2,1)‧B(1,3)+A(2,2)‧B(2,3)+……+A(2,J)‧B(J,3)
   請寫一程式INPUT I,J,P,Q,及A(1,1),A(1,2)…A(I,J),A(I,J),B(1,1),
   B(1,2)…B(P,Q)且若J=P則由螢光幕上印出C之所有元素C(1,1),C(1,2)…C(I,Q)
   ,否則印出ERROR!

32、輸入一篇英文文章,計算文中任兩英文字母接連出現的頻率,亦即
   @A,A@,AA,AB,AC,﹒﹒﹒﹒,AZ,@B,B@,BA,
   BB,BC,﹒﹒﹒﹒,BZ,﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒,ZZ等出現的字數。
   其中@A代表A為一英文單字的第一個字母;
 A@代表A為一英文單字的最後一個字母,餘類推。
   按其頻率之高低排序後,將頻率不為零的依序列印出來。
   [例] 輸入:
THIS IS HIS BOOK
列印出的結果為:
IS:3 S@:3 HI:2 @B:1
@H:1 @I:1 @T:1 BO:1
k@:1 OK:1 OO:1 TH:1
   請以下列文章測試之:
   (請將下列文章存於檔案中,以讀檔案的方式來設計程式)
   SOFTWARE CONSISTS OF THE PROGRAMS A COMPUTER
   SYSTEM EXECUTES.
   THERE ARE TWO KINDS OF SORTWARE;SYSTEM
   SOFTWARE AND APPLICATIONS SOFTWARE.
   SYSTEM SOFTWARE CONSISTS OF PROGRAMS THAT HELP
   USERS WRITE AND EXECUTE OTHER PROGRAMS.
   APPLICATIONS SOFTWARE DOES THE JOBS THAT USERS
   BROUGHT THE COMPUTER TO HANDLE.
   APPLICATIONS SOFTWARE IS AS VARIED AS THE
   APPLICATIONS OF COMPUTERS THEMSELVES.

33、輸入一個字串(<100)列印出此字串中最長相同部分。

34、輸入兩個字串(<100)列印出兩個字串中最長相同部分。

35、輸入三角形三頂點的直角坐標,計算並印出該三角形的周長與面積。如果該
   三角形為等腰三角形、正三角形、直角三角形,並請加註記。請以下列數據
   測試之:
   (1)(2,4) (-3,2) (1,-4)
   (2)(-2,0) (0,-2) (2,2)
   (3)(1,2) (-3,-1) (0,-5)
   (4)(0,0) (2,4) (-1,-2)




36、試寫一程式,以輸入一字串,其長度 (含空白), 最長為81個字元,然後檢
驗該語言串中之母音 (A,E,I,O,U,a,e,i,o,u),並將之刪除,且該些母音之
位置由後續之字元向前位移予以佔用而不留下空白,例如:輸入 "Mary︿
Lives︿IN︿300,︿Born︿St.,︿Chungli,︿Taiwan,︿R.︿O.︿C."其中"︿
" 表示空一個位置。經刪除母音後成為 "Mry︿Lvs︿N︿300,︿Brn︿St.,︿
Chngl,︿Twn,︿R.︿.︿C.";然後將輸入之字串與刪除母音後之字串同時列
印於報表。

測試資料:(請將下列文章存於檔案中,以讀檔案的方式來設計程式)
" He Sells Sea Shells by the Seashore."
" I don't know how to Complete the testing Program."
" The men who spead ill of others will take no advantage
of others in the last."

37、請設計一程式能將任一正整數N(1<=N<=10)分解為小於或等於
N之.正整數之和,並按"反字典"之次序印出。所謂反字典次序意指與
英文字典之排列次序相反,即先印大再印小,例如N=6,其列印之次序
如下:
6=6
6=5+1
6=4+2
6=4+1+1
6=3+3
6=3+2+1
6=3+1+1+1
6=2+2+2
6=2+2+1+1
6=2+1+1+1+1
6=1+1+1+1+1+1

上述例題之排列從行而言是由大而小,從列而言也是由大而小,請列印測
試資料:N=6,N=8之結果以便批改。

38、試設計一程式,能檢驗輸入的四點(X1 Y1),(X2 Y2),(X3 Y3),(X4 Y4)
是否可構成一直立矩形。所謂直立矩形乃指矩形之兩雙對邊分別平行於X
軸及Y軸。(請參看附圖),若此四點無法成為一直立矩形則電腦會"嗶"
一聲並要求使用者重新輸入四點,若此四點可成一直立矩形則將此四點存
於陣列中並在螢幕上繪出此直立矩形。當電腦連續收集兩個直立矩形時,
你的程式將能分辨此二矩形是相交(Intersect),分離(Disjoint)包含
(Contain)。請將結果顯示於螢幕,除此外,你要將輸入矩形之坐標及辨
別之結果列印以便批改。

  Y軸 (5,8)
  │ ┌──────┐(10,8)
  │ │ │
  │ │ │
  │ │ │
  │(2,4) │ │
  │ ┌───┼─┐(6,4) │
  │ │(5,3) └─┼────┘ (10,3)
  │ └─────┘ (6,3)
  │(2,2)
  └───────────────> X軸
  圖例

39、四則運算...
   程式設計一個程式可以算出包含下列條件的任意一個數學式。
   1.可算出+,-,×,÷。
    2.可算出含有括號"( )"之式子。
   3.可算出上式1及2之混合式子。
上述1至3項皆須合於數學規則,第2項則只要含一組括號即可,也就是
   說可以不必顧及括號內還有括號之情況。
  測試資料:
   1. 1325+17×61-279÷48。
   2. 1376-379+12579-(35761×2-3761)

40、大數加法,兩個100位數以內的數字相加,列印出結果。
41、大數減法,兩個100位數以內的數字相減,列印出結果。
42、大數乘法,兩個100位數以內的數字相乘,列印出結果。
43、大數除法,兩個100位數以內的數字相除,列印出結果。

44、輸入一篇文章(字數可能多於256字),;分析文章中每一單字出現之次數,
   並按出現次數之高低,依序列印出所有單字及其出現次數。
   註:單字由空格、逗號、句號或換行等字符分開。
   以下列文章測試之(請將下列文章存於檔案,以開檔的方式讀取)
MACHINE LANGUAGE IS THE BASIC LANGUAGE UNDERSTOOD BY THE COMPUTING
MACHINE. MOST COMPUTERS HAVE REGISTERS IN THE CPU THAT ARE SIMILAR
TO THE REGISTER IN THE DESK CALCULATOR. THEY ARE CAKKED ACCUMULATORS
BECAUSE THEY ARE USED TO ACCUMULATE THE INTERMEDIATE RESULTS. THE CPU
CAN BE TOLD TO LOAD A NUMBER INTO ITS ACCUMULATOR FROM A SPECIFIC CELL
IN THE MEMORY, TO ADD, SUBTRACT, MULTIPLY, OR DIVIDE THE NUMBER IN THE
ACCUMULATOR BY A NUMBER FROM MEMORY, OR TO STORE A NUMBER FROM THE
ACCUMULATOR INTO MEMORY.

45、一群士兵分編成如圖所示若干大隊,每一大隊又分成若干小隊,其中1、2、3、
   4、5、6、7表大隊,s、p、d、f等表小隊,s小隊最多可編入2人,p小隊6人,d
   小隊10人,f小隊14人,編隊方式則從1s小隊開始,按箭頭方向所示,前一小隊
   編滿額後還有人未編隊時則編入後一小隊,至全部編完為止。
作一程式輸入士兵人數N,N<100,列印出每一大隊及各小隊編隊之人數。
   例:輸入N=11,則輸出可以適當格式表示,1s小隊編2人,2s小隊2人,2p小隊
   6人,3s小隊1人,第1大隊2人,第2大隊8人,第3大隊1人。
   以下引N測試之:8,29,55,57,79,92。
  1s
  ↓
  2s→ 2p
  ↙
  3s→ 3p → 3d
  ↙ ↙
  4s→ 4p →4d→ 4f
  ↙ ↙ ↙
  5s→ 5p→ 5d→ 5f
  ↙ ↙ ↙
  6s→ 6p→ 6d
  ↙ ↙
  7s→ 6p
  ↙
  8s

46、輸入兩帶分數P1 r1/q1 與P2 r2/q2,pi,ri,qi(i=1,2)都是整數,求此二
   分數之和,經化為最簡分數後以帶分數印出。
   以下列分數組測試之
  1/2 + 2/3 5 1/4 + 3 1/4 3/8 + -3/8 6 2/9 + 4 1/3
  4/7 + 2/0

47、試依照下列的條件設計考生成績分配狀況的條形圖。
   (1) 成績共區分為十個等級,從0至9,10至19,20至29,30至39,40至49,
     50至59,60至69,70至79,80至89,90至100。
   (2) 輸出的形式如下圖所示,一個*號代表二個人,奇數人數時則以進位計算
     ,同一等級以不超過50人為條件。
   (3) 當輸入資料為999時代表資料的完了。
     00--09 **
     10--19 ****
     20--29 ******
     30--39 *****
     40--49 *********
     50--59 *********.****
     60--69 *********.*********.**
     70--79 *********.******
     80--89 ******
     90--100 ****
   (4)測試用的輸入資料為:
     72,81,54,68,75,42,85,60,27,66,79,32,94,6,45,83,67,61,38,65,72,56,
     67,15,90,72,67,53,48,79,42,65,72,58,100,75,67,82,52,65,72,45,82,
     75,35,75,68,50,12,78

48、輸入兩個一組的十六進位正整數(X,Y),X,Y各數最多為4位(即16 bit),計算每組
   數的AND,OR,和(SUM)與差(DIFFERENCE),將X,Y值及運算結果以2進位形式列印
出來。計算和與差時其最高位之進位、借位可以忽略。
測試數據:(48,90),(F3,76),(48,93)(21,74)

49、假設有一生物在長100寸之旗桿的中間點上做上下移動。其移動之規律依照天候而
變,若為晴天則當天只向下移動一寸,陰天不動,雨天則當天只向上移動,假設
晴天、陰天、雨天出現之機率分別為5/10,3/10,2/10,試設計一程式模擬該生
物之運動,求出50天後該生物所在之位置距離頂點多遠,及移動之總距離。試模
擬5次,印出每次結果並求其平均值。

50、試設計一程式,利用二分逼近法求一數值a之開7次方根。
所謂二分逼近法,解釋如下:
設某數x位於線段A。B。=[a。﹐b。]內,(亦即a。≦x≦b。),vhbdi vfhae
hjhneA。B。等分為兩段,亦即[a,(a。+ b。)/2]和[(a。+ b。)/2,b。];而把x
所在的那一段稱為A1B1=[a1,b1](如果x=(a。+ b。)/2,則任取其中一段),換句話
說,當a。≦x≦(a。+ b。)/2時,a1=a。,b1=(a。+ b。)/2,當(a。+ b。)/2≦
x≦b。時,a1=(a0+b0)/2,b1=b。,這樣逐次二等分而縮小範圍,就可得到x,
此法為二分逼近法。

麗山經典50題測試範例

麗山經典50題測試範例
本測試資料由北一女中黃芳蘭老師及王璻菁實習老師依麗山經典50題建立
1.
輸入範例一
起始時間8:00通話時間30分鐘
輸出範例一
10.6
輸入範例二
起始時間6:00通話時間300分鐘
輸出範例二
45.084
輸入範例三
起始時間4:00通話時間600分鐘
輸出範例三
90.168
輸入範例四
起始時間1:00通話時間744分鐘
輸出範例四
111.9586

2.

範例一
範例二
範例三
輸入
0
1,4,9
-1,-4,9
輸出
0
36
36
3.
輸入範例一
4
輸出範例一
 1 次逼近,lg=2.500000,ng=2.050000
 2 次逼近,lg=2.050000,ng=2.000610
 3 次逼近,lg=2.000610,ng=2.000000
的平方根為 2
輸入範例二
7
輸出範例二
 1 次逼近,lg=4.000000,ng=2.875000
 2 次逼近,lg=2.875000,ng=2.654891
 3 次逼近,lg=2.654891,ng=2.645767
 4 次逼近,lg=2.645767,ng=2.645751
的平方根為 2.64575
輸入範例三
99
輸出範例三
Enter n: 99
 1 次逼近,lg=50.000000,ng=25.990000
 2 次逼近,lg=25.990000,ng=14.899579
 3 次逼近,lg=14.899579,ng=10.772031
 4 次逼近,lg=10.772031,ng=9.981249
 5 次逼近,lg=9.981249,ng=9.949924
 6 次逼近,lg=9.949924,ng=9.949874
99 的平方根為 9.94987
輸入範例四
6553777
輸出範例四
 1 次逼近,lg=3276889.000000,ng=1638445.500000
 2 次逼近,lg=1638445.500000,ng=819224.749998
 3 次逼近,lg=819224.749998,ng=409616.374986
 4 次逼近,lg=409616.374986,ng=204816.187389
 5 次逼近,lg=204816.187389,ng=102424.092862
 6 次逼近,lg=102424.092862,ng=51244.039768
 7 次逼近,lg=51244.039768,ng=25685.966609
 8 次逼近,lg=25685.966609,ng=12970.558355
 9 次逼近,lg=12970.558355,ng=6737.919689
 10 次逼近,lg=6737.919689,ng=3855.295190
 11 次逼近,lg=3855.295190,ng=2777.618437
 12 次逼近,lg=2777.618437,ng=2568.556752
 13 次逼近,lg=2568.556752,ng=2560.048708
 14 次逼近,lg=2560.048708,ng=2560.034570
 15 次逼近,lg=2560.034570,ng=2560.034570
6.55378e+006 的平方根為 2560.03
請按任意鍵繼續 . . .

4.

範例一
範例二
範例三
輸入
0
99988111
47
輸出
不是
不是

.5.1

範例一
範例二
輸入
20000元,年利率6%,30
600000元,年利率6%,90
輸出
20098.863
608941.875

5.2

範例一
範例二
輸入
200098.863,年利率6%,30
608941.875元,年利率6%,90
輸出

600000

6.1

範例一
範例二
輸入
1005
309
輸出
88.7379
24.1495

6.2

範例一
範例二
輸入
88.73795
24.14959
輸出
100
30

7.
輸入範例一
10001
輸出範例一
1    不為71113的倍數
2    位數和為偶數
3    平方根為100.00499
4    不是質數
5    73*137
輸入範例二
100001
輸出範例二
1    不為71113的倍數
2    位數和為偶數
3    平方根316.29347
4    不是質數
5    11*9091
輸入範例三
65537
輸出範例三
(1)   不為71113的倍數
(2)   位數和為偶數
(3)   平方根為256.0019
(4)   是質數
(5)   65537
輸入範例四
1
輸出範例四
1    不為71113的倍數
2    位數和為奇數
3    平方根為1
4    不是質數
5     
輸入範例五
2
輸出範例五
1    不為71113的倍數
2    位數和為偶數
3    平方根為1.414
4    是質數
5    2

8.
輸入範例一
N1A{1}
輸出範例一
{},{1}

輸入範例二
N=2A{1,2}
輸出範例二
{},{1},{2},{1,2}
輸入範例三
N=3A{1,2,3}
輸出範例三
{},{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}
輸入範例四
N=4A{1,2,3,4}
輸出範例四
{},{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4}
{1,3,4}{2,3,4},{1,2,3,4}

9.
輸出範例一
銀行多5683(5683.88802)

10.

11.
輸出範例一
2,  65, 128, 191, 254, 317, 380, 443, 506, 569, 632, 695, 758, 821, 884, 947,
1010,1073,1136,1199,1262,1325,1388,1451,1514,1577,1640,1703,1766,1829,1892,1955,
2018,2081,2144,2207,2270,2333,2396,2459,2522,2585,2648,2711,2774,2837,2900,2963,
3026,3089,3152,3215,3278,3341,3404,3467,3530,3593,3656,3719,3782,3845,3908,3971,
4034,4097,4160,4223,4286,4349,4412,4475,4538,4601,4664,4727,4790,4853,4916,4979,
5042,5105,5168,5231,5294,5357,5420,5483,5546,5609,5672,5735,5798,5861,5924,5987,
6050,6113,6176,6239,6302,6365,6428,6491,6554,6617,6680,6743,6806,6869,6932,6995,
7058,7121,7184,7247,7310,7373,7436,7499,7562,7625,7688,7751,7814,7877,7940,8003,
8066,8129,8192,8255,8318,8381,8444,8507,8570,8633,8696,8759,8822,8885,8948,9011,
9074,9137,9200,9263,9326,9389,9452,9515,9578,9641,9704,9767,9830,9893,9956,

12.
輸出範例一
6,28,8128,33550336

13.

範例一
範例二
輸入
26
77
輸出
11010,32,1A
1001101,115,4D

14.

範例一
範例二
輸入
THESE ARE HIS BOOKS.
I AM JANET.
輸出
4* 3+ 3+ 5?.
I AM 5?.

15.

範例一
範例二
範例三
範例四
輸入
M122105934
B122410941
A200000001
B200000004
輸出

16.
輸出範例一
1,2,145,,40585

17.

範例一

輸入
0237
0126
3175
1167

輸出
(1) 0126 0237 1167 3175
(2) 0126
(3)3175
(4)0237


18.

範例一
範例二
範例三
範例四
範例五
範例六
輸入
VII
LXXXVII
CCXIX
MCCCLIV
MMMIM
ICXI
輸出
7
87
219
1354
3999
不合法

19.
輸出範例一
66
2828
220284
284220
496496

20.

範例一
範例二
範例三
範例四
範例五
輸入
7
87
219
1354
3999
輸出
VII
LXXXVII
CCXIX
MCCCLIV
MMMIM
(以下測試資料中, ^代表空格)
21.
輸入範例一
LINK^THIS^PC^TO^THE^HOST     (^代表空格)
輸出範例一
LINK^^^^^THIS^^^^PC^^^^TO^^^^THE^^^^HOST

輸入範例二
LINK,THIS.PC^^TO!THE^HOST.     (^代表空格)
輸出範例二
LINK^^^^^THIS^^^^PC^^^^TO^^^^THE^^^^HOST

22.

範例一
範例二
輸入
(2,4)
(4,6)
(3,2)
(7,3)
(6,0)
(0,6)
(0,-6)
(10,0)
(0,0)
(3,0)
輸出
圓心=(5,3)
半徑=3.162278
圓心=(3.2,0)
半徑=6.8

23.

範例一
範例二
範例三
範例四
範例五
輸入
100
075
090
082
166
輸出
2
2
3
5
6

24.

範例一
輸入
1.




O




2


X

O




3
O

X

O



X
4.
O

X

O

 O

X
5.
O

X

O
X
 O

X
輸出
X
25.

範例一
範例二
輸入
17/21
57/58
輸出
17/21=1/2+1/4+1/17+1/1428
1/2+1/3+1/7+1/153+1/31059


範例三
輸入
12345/12346
輸出
1/2+1/3+1/7+1/43+1/2312+1/2313+1/2314+.....


範例四
範例五
範例六
輸入
37/67
35/48
123/456
輸出
1/2+1/20+1/447+1/598980
1/2+1/5+1/35+1/1680
1/4+1/51+1/7752

26.

範例一
範例二
範例三
輸入
1,-1,0
1,2,3
1,1,2
2,2,5
1,2,-3
2,4,-6
輸出
X=1, Y=1
NO SOLUTION
多組解,X=0,Y=-1.5

27.

範例一
範例二
輸入
SEND MORE MONEY
EAT MORE FOOD
輸出
9567  1085  10652
943  7169  8112

28.

範例一
範例二
範例三
輸入
1/4
1/7
5/990
輸出
0.25
0.142857
循環節142859
0.      005050
循環節50

29.

範例一

輸入
1 1

輸出
1  4  13  16
14  15  2  3
 8  5  12  9
11  10  7  6

1  4  13  16
14  15  2  3
12  9   8  5
 7  6  11 10
.....


30.

範例一
範例二
輸入
255
10
499
17
輸出
A0=255
A1=5
A2=0
A3=0
k=3
A0=499
A1=6
A2=9
A3=5
A4=16
A5=7
A6=2
A7=3
A8=13
A9=11
A10=8
A11=12
A12=1
A13=10
A14=15
A15=14
A16=4
A17=6
k=17

31.

範例一
範例二
輸入
2,3,1,2
2,1,1,2  (矩陣一,二的維度)
1,1     (矩陣一資料)
1,1     (矩陣二資料)
輸出
ERROR
1 1
1 1


範例三
範例四
輸入
2,-1,-1,3
3,2,2,4
1,-2,-2,3,0,6
2,-1,1,0,0,-3,2,5
輸出
ERROR
2        5  -3  -10
 -4  –7  4   15
  0  -18  12  30

32.
輸入範例一
THIS^IS^HIS^BOOK
輸出範例一
IS:3   S@:3   HI:2  @B:1   @H:1   @I:1   @T:1   BO:1
K@:1  OK:1  OO:1  TH:1

輸入範例二
SOFTWARE CONSISTS OF THE PROGRAMS A COMPUTER
SYSTEM EXECUTES.
THERE ARE TWO KINDS OF SORTWARE;SYSTEM
SOFTWARE AND APPLICATIONS SOFTWARE.
SYSTEM SOFTWARE CONSISTS OF PROGRAMS THAT HELP
USERS WRITE AND EXECUTE OTHER PROGRAMS.
APPLICATIONS SOFTWARE DOES THE JOBS THAT USERS
BROUGHT THE COMPUTER TO HANDLE.
APPLICATIONS SOFTWARE IS AS VARIED AS THE
APPLICATIONS OF COMPUTERS THEMSELVES.
輸出範例二
S@:20  E@:15  @A:10  @T:10  OF:10  @S: 9  AR: 9  RE: 9
TE: 9  TH: 9  HE: 8  TW: 8  ER: 7  SO: 7  WA: 7  AT: 6
FT: 6  NS: 6  ON: 6  @C: 5  @O: 5  CO: 5  ST: 5  UT: 5
AP: 4  CA: 4  EM: 4  F@: 4  IC: 4  IO: 4  LI: 4  MS: 4
ND: 4  PL: 4  PP: 4  RO: 4  TI: 4  @P: 3  AM: 3  AN: 3
D@: 3  ES: 3  GR: 3  HA: 3  IS: 3  M@: 3  MP: 3  OG: 3
OM: 3  PR: 3  PU: 3  R@: 3  RA: 3  RS: 3  SE: 3  SY: 3
T@: 3  YS: 3  @E: 2  @H: 2  @U: 2  AS: 2  CU: 2  EC: 2
EL: 2  EX: 2  O@: 2  RI: 2  SI: 2  TS: 2  US: 2  XE: 2
@B: 1  @D: 1  @I: 1  @J: 1  @K: 1  @V: 1  @W: 1  A@: 1
BR: 1  BS: 1  DL: 1  DO: 1  DS: 1  DV: 1  ED: 1  GH: 1
HT: 1  IE: 1  IN: 1  IT: 1  JO: 1  KI: 1  LE: 1  LP: 1
LV: 1  OB: 1  OE: 1  OR: 1  OT: 1  OU: 1  P@: 1  RT: 1
TO: 1  UG: 1  VA: 1  VE: 1  WO: 1  WR: 1             

33.

範例一
範例二
範例三
輸入
THIS^IS^HIS^BOOK
abcdefa
abcdef
輸出
HIS^
a
無相同字串

34.

範例一
範例二
範例三
輸入
THIS^IS^HIS^BOOK
THE^BOOK^IS^NICE
xyza
abc
xyz
abc
輸出
^BOOK
a
無相同字串

35.

範例一
範例二
範例三
範例四
輸入
(2,4)
(-3,2)
(1,-4)
(-2,0)
(0,-2)
(2,2)
(1,2)
(-3,-1)
(0,-5)
(0,0)
(2,4)
(-1,-2)
輸出
周長=20.658525
面積=19.000000
周長=11.772699
面積=6.000000
等腰三角形
直角三角形
周長=17.071068
面積=12.500000
等腰三角形
無法構成三角形



36.
輸入範例一
Mary^Lives^IN^300,^Born^St.,^Chungli,^Taiwan,^R.^O.^C.
輸出範例一
Mry^Lvs^N^300,^Brn^St.,^Chngl,^Twn,^R.^.^C.

輸入範例二
He Sells Sea Shells by the Seashore.
I don't know how to Complete the testing Program.
The men who spead ill of others will take no advantage
of others in the last.
輸出範例二
H Slls S Shlls by th Sshr.
I dn't knw hw t Cmplt th tstng Prgrm.
Th mn wh spd ll f thrs wll tk n dvntg
thrs n th lst.

37.

範例一

輸入
6

輸出
6=6         
6=5+1       
6=4+2       
6=4+1+1     
6=3+3       
6=3+2+1     
6=3+1+1+1   
6=2+2+2     
6=2+2+1+1   
6=2+1+1+1+1 
6=1+1+1+1+1+1


38.

範例一
範例二
範例三
輸入
(2,2),(2,4),(6,4),(6,3)
(2,2),(2,4),(6,4),(6,4)
(5,3),(5,8),(10,3),(10,8)
(2,2),(2,4),(4,4),(4,4)
(5,5),(5,8),(10,5),(10,8)
輸出
無法構成直立矩形
相交
分離


範例四
範例五
輸入
(2,2),(2,4),(6,4),(6,4)
(6,4),(6,8),(10,4),(10,8)
(2,2),(2,4),(6,5),(6,5)
(5,3),(5,8),(10,3),(10,8)
輸出
相交
相交

39.

範例一
範例二
輸入
132517×61279÷48
137637912579(35761×23761)
輸出
2356.1875
-54185

40.

範例一
範例二
範例三
範例四
輸入
10000000001
99999999999
10000000001
-99999999999
-10000000001
99999999999
-10000000001
-99999999999
輸出
100000000000
-89999999998
89999999998
-100000000000

41.

範例一
範例二
範例三
範例四
輸入
10000000001
99999999999
10000000001
-99999999999
-10000000001
99999999999
-10000000001
-99999999999
輸出
-89999999998
100000000000
-100000000000
89999999998

42.

範例一
範例二
輸入
10000000001
99999999999
10000000001
-99999999999
輸出
100000000008999999999
-100000000008999999999


範例三
範例四
輸入
-10000000001
99999999999
-10000000001
-99999999999
輸出
-100000000008999999999
100000000008999999999

43.

範例一
範例二
輸入
10000000001
99999999999
10000000001
-99999999999
輸出
0.1000000000110000000001
-0.1000000000110000000001


範例三
範例四
輸入
99999999999
-19999999991
-99999999999
-10000000001
輸出
-5.0000000022000000009900
5.0000000022000000009900


44.
輸入範例一
MACHINE LANGUAGE IS THE BASIC LANGUAGE UNDERSTOOD BY THE COMPUTING
輸出範例一
THE = 3
LANGUAGE = 2
MACHINE = 2
ARE = 1
BASIC = 1
BY = 1
COMPUTERS = 1
COMPUTING = 1
CPU = 1
HAVE = 1
IN = 1
IS = 1
MOST = 1
REGISTERS = 1
SIMILAR = 1
THAT = 1
UNDERSTOOD = 1

輸入範例二
MACHINE LANGUAGE IS THE BASIC LANGUAGE UNDERSTOOD BY THE COMPUTING   
MACHINE.  MOST COMPUTERS HAVE REGISTERS IN THE CPU THAT ARE SIMILAR  
TO THE REGISTER IN THE DESK CALCULATOR.  THEY ARE CAKKED ACCUMULATORS
BECAUSE THEY ARE USED TO ACCUMULATE THE INTERMEDIATE RESULTS.  THE CPU
CAN BE TOLD TO LOAD A NUMBER INTO ITS ACCUMULATOR FROM A SPECIFIC CELL
IN THE MEMORY, TO ADD, SUBTRACT, MULTIPLY, OR DIVIDE THE NUMBER IN THE
ACCUMULATOR BY A NUMBER FROM MEMORY, OR TO STORE A NUMBER FROM THE   
ACCUMULATOR INTO MEMORY.                                             
輸出範例二
THE = 11
TO = 5
A = 4
IN = 4
NUMBER = 4
ACCUMULATOR = 3
ARE = 3
FROM = 3
MEMORY = 3
BY = 2
CPU = 2
INTO = 2
LANGUAGE = 2
MACHINE = 2
OR = 2
THEY = 2
ACCUMULATE = 1
ACCUMULATORS = 1
ADD = 1
BASIC = 1
BE = 1
BECAUSE = 1
CAKKED = 1
CALCULATOR = 1
CAN = 1
CELL = 1
COMPUTERS = 1
COMPUTING = 1
DESK = 1
DIVIDE = 1
HAVE = 1
INTERMEDIATE = 1
IS = 1
ITS = 1
LOAD = 1
MOST = 1
MULTIPLY = 1
REGISTER = 1
REGISTERS = 1
RESULTS = 1
SIMILAR = 1
SPECIFIC = 1
STORE = 1
SUBTRACT = 1
THAT = 1
TOLD = 1
UNDERSTOOD = 1
USED = 1

45.

範例一
範例二
輸入
8
29
輸出
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊6
2p小隊編4
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊8
2p小隊編6
3s小隊編2
3p小隊編6
3d小隊編9人,第三大隊17
4s小隊編2人,第四大隊2


範例三
範例四
輸入
55
57
輸出
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊8
2p小隊編6
3s小隊編2
3p小隊編6
3d小隊編10人,第三大隊18
4s小隊編2
4p小隊編6
4d小隊編10人,第四大隊18
5s小隊編2
5p小隊編6人,第五大隊8
6s小隊編1人,第六大隊1
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊8
2p小隊編6
3s小隊編2
3p小隊編6
3d小隊編10人,第三大隊18
4s小隊編2
4p小隊編6
4d小隊編10
4f小隊編1人,第四大隊19
5s小隊編2
5p小隊編6人,第五大隊8
6s小隊編2人,第六大隊2


範例五
範例六
輸入
79
92
輸出
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊8
2p小隊編6
3s小隊編2
3p小隊編6
3d小隊編10人,第三大隊18
4s小隊編2
4p小隊編6
4d小隊編10
4f小隊編14人,第四大隊32
5s小隊編2
5p小隊編6
5d小隊編9人,第五大隊17
6s小隊編2人,第六大隊2
1s小隊編2人,第一大隊2
2s小隊編2人,第二大隊8
2p小隊編6
3s小隊編2
3p小隊編6
3d小隊編10人,第三大隊18
4s小隊編2
4p小隊編6
4d小隊編10
4f小隊編14人,第四大隊32
5s小隊編2
5p小隊編6
5d小隊編10
5f小隊編4人,第五大隊22
6s小隊編2
6p小隊編6人,第六大隊8
7s小隊編2人,第七大隊2

46.

範例一
範例二
範例三
範例四
輸入
0 1/2
0 2/3
4/7
2/0
5 1/4
3 1/4
0 3/8
0 –3/8
輸出
1 1/6
ERROR
8 1/2
0


範例五
範例六


輸入
-6 2/9
4 1/3
-6 2/9
-4 1/3


輸出
-1 8/9
-10 5/9



47.
輸入範例一
72,81,54,68,75,42,85,60,27,66,79,32,94,6,45,83,67,61,38,65,72,56,
67,15,90,72,67,53,48,79,42,65,72,58,100,75,67,82,52,65,72,45,82,
75,35,75,68,50,12,78                                            
輸出範例一
00--09  *
10--19  *
20--29  *
30--39  **
40--49  ***
50--59  ***
60--69  ******
70--79  ******
80--89  ***
90--100  **

48.

範例一
範例二
範例三
範例四
輸入
48
90
F3
76
48
93
21
74
輸出
and= 0
or= 11011000
= 11011000
= 10111000
and= 1110010
or= 1110110
= 1101001
= 1111101
and= 0
or= 11011011
= 11011011
= 10110101
and= 100000
or= 1110101
= 10010101
= 10101101

49.
輸入範例一
輸出範例一
(不同程式
執行的結果不同)
estimated data 1: 離頂點 67 dm , 移動總距離 41 dm
estimated data 2: 離頂點 64 dm , 移動總距離 44 dm
estimated data 3: 離頂點 66 dm , 移動總距離 38 dm
estimated data 4: 離頂點 66 dm , 移動總距離 40 dm
estimated data 5: 離頂點 67 dm , 移動總距離 37 dm

**average value:  離頂點 66 dm , 移動總距離 40 dm

50.

範例一
範例二
範例三
範例四
範例五
輸入
1
0.1
0
-125
-0.285
輸出
1.000000
0.719686
0.000000
-1.993235
-0.835835

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...