【測驗M19】94商業類科學生技藝競賽模擬試題                             [回前頁]

Problem 1、(程式設計分組,14分)

共有n個學校派學生參加程式設計比賽,主辦單位擬將所有參賽學生分成若干組進行初賽,分組原則:每一所學校的參賽學生必須被平均分派到各組,且分組的組數必須為最多。請設計一個程式,可依據各校參賽的學生人數,決定初賽最多可分成幾組比賽。(輸出結果的組數若非最多,則本題算錯,零分計算。)

輸入說明:輸入第一列為參賽的學校數n (n介於2~50)。

輸入第二列到第 n+1列分別為各校的參賽學生人數(每列的輸入值介於2~100)。

輸入範例:有3所學校派學生參加程式設計比賽,每一所學校的參賽學生分別有:8人、12人、48人。實際輸入之檔案內容如下:

實際輸入:(test1.txt)

3

8

12

48

輸出說明:輸出結果為分組的組數。

輸出範例:上例中有3所學校各派學生8人、12人、48人參加程式設計比賽,故最多可分成4組,每一組可有第一個學校2人,第二個學校3人,第三個學校12人。實際輸出之檔案內容如下:

實際輸出:(result1.txt)

4

Problem 2、(購買花朵,10分)

    鬱金香一朵50元、香水百合一朵10元、白玫瑰一朵5元、滿天星一朵1元,現王先生有一筆金額N (0<n<100),請設計一程式,計算出此金額若全部用完,能買到的花朵數。(買到的花朵數必須為最少,花朵數若非最少,則本題算錯,零分計算。)

輸入說明:輸入金額n。

輸入範例:假定王先生有 78元。實際輸入之檔案內容如下:

實際輸入:(test2.txt)

78

輸出說明:第一列為花朵總數。第二列到第五列分別為鬱金香、香水百合、白玫瑰、滿天星的花朵數。

輸出範例:上例中王先生有 78元,能買到最少的花朵數分別為鬱金香1朵、香水百合2朵白、玫瑰1朵、滿天星3朵。實際輸出之檔案內容如下:

實際輸出:(result2.txt)

                7

                1

                2

                1

                3

Problem3、(連分數,13分)

    有一個三層的連分數形式如下。請寫一程式,輸入、     ,輸出該連分數的值。

               

 

輸入說明:第一列為,第二列為,第三列為

輸入範例: 假定的輸入值如下:

             

     實際輸入之檔案內容如下:

     實際輸入:(test3.txt)

3  2

1  4

1  2

     輸出說明:輸出結果為該連分數的分子及分母值。

輸出範例:以下為分數的求解過程

 

      實際輸出之檔案內容如下:

      實際輸出:(result3.txt)

27  20

Problem 4、(最小離差,16分)

有n個同學(n為偶數),兩人一組,共分成 n/2組。令n/2個同學之體重總和為{S1,S2,……Sn},m為體重總和之平均值m=[()/n],分組的原則為必須使得m|之差距總合為最小。(輸出結果的差距若非為最小,則本題算錯,零分計算。)寫一程式完成此分組工作。

輸入說明:第一列為學生人數n,(4≦n≦20)。

第二列到第n+1列為學生的體重。(30≦學生的體重≦150)

輸入範例:假定有10個同學,其體重分別為:82、53、74、84、45、46、57、67、43、47。實際輸入之檔案內容如下:

實際輸入:(test4.txt)

10

               82

               53

               74

               84

               45

               46

               57

               67

               43

               47

輸出說明:列印出每組同學之體重總和及個別體重,且必須依體重總和由大而小印出。

輸出範例:上例中的10個同學體重分別為:82、53、74、84、45、46、57、67、43、47。其各組體重總和及個別體重的實際輸出之檔案內容如下:

     實際輸出:(result4.txt)

127 = 43 + 84

127 = 45 + 82

120 = 46 + 74

114 = 47 + 67

 110 = 53 + 57

Problem 5、(字串處理,12分)

    輸入一段字串(String),請寫出一個程式,計算此字串中阿拉伯數的字元有幾個?

 

輸入說明:一個任意字串。(字串長度介於1到100個字元)

輸入範例:假定入字串為:a9sj2k13ckdi7。實際輸入之檔案內容如下:

實際輸入:(test5.txt)

a9sj2k13ckdi7

輸出說明:輸出輸入字串中阿拉伯數字的個數。

輸出範例:上例中的字串a9sj2k13ckdi7有5個阿拉伯數的字元,分別為9、2、1、3、7。實際輸出之檔案內容如下:

輸出格式: (result5.txt)

5

Problem 6、(相關係數,18分)

      有n對父、子的身高資料,已知父親身高 ()與兒子身高()有相關性,相關性可用相關係數( r )來決定,r的公式如下。請寫一個程式可計算其相關係數。 SHAPE  \* MERGEFORMAT                          

例如:有五對父子的身高如下:

 , 

i

(父身高)

(子身高)

1

160

165

2

175

180

3

170

173

4

174

178

5

165

171

Σ

844

867

   

 

 

 

 

輸入說明:第一列為父、子的組數n,(n介於5~10)。

第二列至第n+1列為父與子的身高。

輸入範例:假定有5組父、子的身高資料,分別為:(160,165)、(175,180)、(170,173)、(174,178)、(165,171)。實際輸入之檔案內容如下:

實際輸入:(test6.txt)

5

160 165

175 180

170 173

174 178

165 171

 

輸出說明:輸出相關係數r,(取至小數第三位,即第四位四捨五入)。

輸出範例:上例中5對父、子身高的相關係數為0.984。實際輸出之檔案內容如下:

實際輸出:(result6.txt)

0.984

Problem 7、(基數排序,17分)

      將一組資料由小而大或由大而小排序式是資料處理中很重要的工作。有一種排序方法稱為基數排序,它的做法是先排數值的個位數,接著排十位數、百位數,千位數、、、。寫一個程式輸入n 筆的數值,並輸出其排序過程。

 

輸入說明:第一列為數值個數n,(n介於2~10)。

第二列至第n+1列為各數值。(每個數值最多為三位數)

輸入範例:假定有5筆數值分別為:858、792、459、574、762。實際輸入之檔案內容如下:

實際輸入:(test7.txt)

          5

858

792

459

574

762

 

輸出說明:第一列為未排序前的數值次序。

第二列起為各階段排序的數值次序。

 

輸出範例:上例中5筆數值的各階段排序的數值次序如下:

未排序前:

858、792、459、574、762

第一次依個位數排序結果:

792、762、574、858、459

第二次依十位數排序結果:

858、459、762、574、792

第三次依佰位數排序結果:

459、574、762、792、858

 

實際輸出:(result7.txt)

858、792、459、574、762

792、762、574、858、459

858、459、762、574、792

459、574、762、792、858