資訊處理 96 年程式設計概要考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
不限使用語言,設計一程式,計算兩正整數的最大公因數,輸入兩正整數a 和b, 輸出a 和b 的最大公因數。(25 分)
下列片段程式執行完畢後 ㈠請列出第40 行所有可能出現的A 值。(15 分) ㈡請列出第50 行所有可能出現的B 值。(10 分) 10 RANDOMIZE (TIMER) 20 A = INT(RND * 10) 30 B = INT((A + 1) / 2) * 2 40 PRINT A 50 PRINT B 程式說明: 指令 說明 RANDOMIZE(TIMER) 以時間當亂數種子選取亂數表 INT( NUMBER ) 對NUMBER 取整數 RND 為亂數產生器,數值範圍介於0 至小於1 之間的浮點數
請寫一遞迴程式(recurisive program) 計算n!(即n! = n ... 3 2 1 × × × × ,n 是由外界輸入的一個大於1 的整數)。(25 分) 96 年公務人員特種考試身心障礙人員考試試題 類 科: 資訊處理 41240 全一張
㈠請比較在32bit 平台上的資料型態「float」(單精度)與「double」(倍精度)在 表示實數上會有何不同。(15 分) ㈡在32bit 平台上的「無號整數」(UNSIGNED INTEGER)是以32 個位元表示。 在16bit 平台上的「無號整數」(UNSIGNED INTEGER)是以16 個位元表示。 請嘗試說明上述兩種資料型態分別可以表示幾個整數。(5 分) ㈢請比較下面兩個程式,那一個執行的結果會最接近999.999。(5 分) //程式甲 #include <stdio.h> int main(void) { float num=999.999; printf("%f \n",num); return 0; } //程式乙 #include <stdio.h> int main(void) { double num=999.999; printf("%lf \n",num); return 0; }
請用C 語言,寫出用隨機亂數產生一個大於0 且小於100 的隨機正整數的程式碼。 (10 分)