高普考題庫
102 年 102年公務人員高等考試三級考試暨普通考試

程式設計概要

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1㈠假設目前陣列PrimeAry 儲存所有比n 小的質數,撰寫一函數IsPrime(n)判別n 是否為質數。譬如:IsPrime(3)回覆True,IsPrime(4)回覆False。(15 分)㈡撰寫一函數BuildPrime(m),使用IsPrime 函數建立陣列PrimeAry,使其擁有小於或等於m 的所有質數。譬如:BuildPrime(5)將使PrimeAry 陣列依序儲存2, 3, 5,而BuildPrime(10)將使PrimeAry 陣列依序儲存2, 3, 5, 7。(15 分)
申論 2㈠假設目前陣列PrimeAry 儲存所有比n 小的質數,撰寫一遞迴函數(Recursivefunction)FactorTimes(n, p),回覆正整數n 含有質數p 的因數次數。譬如:792=23×32×11,FactorTimes(792, 2) 回覆3 ,FactorTimes(792, 3) 回覆2 ,FactorTimes(792, 5)回覆0,FactorTimes(792, 11)回覆1。(15 分)㈡假設目前陣列PrimeAry 儲存所有比n 小的質數,撰寫一函數PrimeFactor(n)求出正整數n 的質因數及其因數次數,並將結果以字串傳回。譬如:PrimeFactor(20)將回傳字串"2^2 * 5",PrimeFactor(72)將回傳字串"2^3 * 3^2",而PrimeFactor(97)將回傳字串"97"。(15 分)
申論 3㈠若將上述方法(主程式除外)封裝成一個類別PrimeClass,請實踐上述規劃的及。(10 分)㈡使用網頁技術來建立下列系統:要求使用者輸入一個小於10000 的正整數,判別它是否在要求的範圍內;該判別方法(名稱為Check_Inp_Val)必須在客戶端(Client)完成,不可在伺服器(Server)完成。若輸入值在範圍內,則呼叫伺服器端處理函數mainPrime;否則在網頁直接發布相關訊息,中斷處理(不呼叫處理函數mainPrime)。(20 分)㈢請撰寫處理函數mainPrime,讓系統可以求出輸入數值的質因數分解。(10 分)