网站大量收购闲置独家精品文档,联系QQ:2885784924

99碩士入學程式會考考題.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
99碩士入學程式會考考題

1. Fibonacci 數列 f1, f2, … 之定義如下: fn = fn(1 + fn(2, 當n (( 3; 初始條件 f1 = f2 = 1。 試以遞廻方式 (recursive call ) 撰寫一個程式,在標準輸入輸入整數 n,在標準輸出顯示fn。(5%) 接續前小題,加入整數變數 counter 用以累計加法的次數,並顯示於標準輸出。counter 若大於 1000,則跳出,並顯示訊息。(5%) 接續前小題,找出counter 不會大於 1000 的最大 n值。(2%) 建立一個陣列 fib[],用以存放Fibonacci 數列之值,以非遞廻方式重新撰寫(a)~(c) 的程式。(5+5+2%) 2. 試以標準輸入輸入整數x,並在標準輸出顯示 三角形,第一列為1個 “*”,第二列為2個 “*”,…,第x列為x個 “*”。 (6%) 例如,x = 3 的輸出為 * ** *** 菱形,第一列為1個 “1”,第二列為2個 “2”,…,第x列為x個 “x”, 第x+1列為x個 “x(1”,...,最後一列為1個 “1”。 (10%) 例如,x = 4 的輸出如下,其中,“(”代表空格 (((1 ((2(2 (3(3(3 4(4(4(4 (3(3(3 ((2(2 (((1 3. 題: (令m = 5, n = 2, 底線表示使用者由鍵盤輸入的部份) 桌上有5個石子 玩家A拿走個數:2 桌上有3個石子 玩家B拿走個數:-2 你只能拿走1~2個石子 玩家B拿走個數:5 你只能拿走1~2個石子 玩家B拿走個數:2 桌上有1個石子 玩家A拿走個數:2 你只能拿走1個石子 玩家A拿走個數:1 玩家A輸了,遊戲結束! 請特別注意範例中的兩個部份: [a] 範例中每人能拿走的石子個數是1~2個,不在範圍內的數字都不接受。 [b] 由於桌上這時只剩1個石子,因此玩家最多只能拿走1個。 也就是玩家所能拿走最大數目不能超過規定值以及桌上剩餘石數。 評分:請完成以下要求,依完成度分別計分 (各4分): 請將遊戲開始時桌上石子總數m,以及每人能拿走的最大石子個數n設計為常數,監考助教可當場修改。若你使用的程式語言沒有常數定義,可改以兩個變數代表之,需在程式開頭就定義。 能正確接收輸入數目並正確計算桌面剩餘石子個數。 界面能夠讓A、B兩玩家輪流輸入。 能正確檢查拿走石子數目的合法性。請注意桌上剩餘的石子個數。 程式能正常終止且正確判斷輸家。 4. 題:1071 最小值 -336 平均值 343.420000 中位數 332.500000 眾數 -42 [定義] 最大值:1000個數字中最大的數值。 最小值:1000個數字中最小的數值。 平均值:1000個數字的總和除以1000。 中位數:1000個數字依大小排序後,排在第500以及第501這兩個數的平均值。 眾 數:1000個數字中,出現最多次的那個數字。例如若 -42這個數字出現了12次,其他數字都出現不到12次,則眾數為 -42。注意:如果出現最多次的數字有兩個以上時,輸出其中一個即可。 評分:正確開啟任意檔案、正確找出最大值、最小值、平均值各得3分, 正確找出中位數以及眾數各得4分。 寫作提示: 排序排序 5. Euclidean Algorithm and Extended Euclidean Algorithm [10分]請撰寫一個程式計算兩個整數的最大公因數, 例如 gcd(735, 252) = 21 程式輸入兩個整數 735 及 252, 輸出為 21 gcd(735, 252) 之基本計算方法如下: 735 = 2 * 252 + 231 (以 735 除以 252, 商為 2, 餘數為 231) 252 = 1 * 231 + 21 (將上式的除數 252 作為此式的被除數, 上式的餘數作為 此式的除數, 即以 252 除以 231, 商為 1, 餘數為 21) 231 = 11 * 21 + 0 (如此直到餘數為 0 時, 除數 21即為最大公因數) 以符號表示如下: r0 = q0 r1 + r2 r1 = q1 r2 + r3 r2 = q2 r3 + r4 … ri = qi ri+1 + ri+2 若 ri+2 = 0 則 gcd(r0, r1) = ri+1 (b) [10分]撰寫一個程式當 gcd(r0, r1) = ri+1 時求得整數 a, b 滿足 ri+1 = a r0 + b r1 例如 gcd(735, 252) = 21 時 21 = (-1) * 735 + 3 * 252, 亦即 a = -1, b = 3 程式輸入兩個整數 735 及 252, 輸出為 -1 及 3 此例之基本算法可以藉由計算最大公

文档评论(0)

daoqqzhuan3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档