題目連結
https://zerojudge.tw/ShowProblem?problemid=a148
解題思路
題目有多筆測資,當輸入為n時,代表題目希望我們對接下來輸入的n筆成績取平均,再依照平均是否大於59判斷是否過關。我們可以用for迴圈讀取n筆成績並將他們相加,除以n即可得到平均,再依照取完平均後的結果輸出相對應的輸出。
https://zerojudge.tw/ShowProblem?problemid=a148
題目有多筆測資,當輸入為n時,代表題目希望我們對接下來輸入的n筆成績取平均,再依照平均是否大於59判斷是否過關。我們可以用for迴圈讀取n筆成績並將他們相加,除以n即可得到平均,再依照取完平均後的結果輸出相對應的輸出。
https://zerojudge.tw/ShowProblem?problemid=a147
利用for迴圈檢查1到n-1的所有整數是否可被7整除,若該數除以7之後的餘數不為0,代表該數不能被7整除,就將其輸出。
根據題意,測資檔會包含多組測資,直到n等於0代表輸入結束。可能有人會想用while(scanf(“%d”, &n) != 0)這樣的寫法判斷程式結束執行的條件,但須注意scanf()函式沒有回傳值,也就是說他僅會將讀取到的數值存入變數中,而不會回傳,因此這項判斷條件永遠不會成立。如果要使用scanf()函式讀取到的輸入作為判斷條件,必須要先將輸入用指定的變數存起來,再使用該變數的值。
https://zerojudge.tw/ShowProblem?problemid=a121
本題給的測資較大,因此我們必須盡可能減少不必要的運算,避免出現TLE的情形。
首先,質數的定義是除了1與自己以外,沒有其他因數的數字。因此在檢查該數是否有因數的時候不用檢查1,可以直接從2開始。
再來,除了完全平方數的因數是1、自己和自己的根號共三個以外,所有數字的因數都是兩兩成對,其中一個小於自己的根號,一個大於自己的根號。因此,我們在檢查該數是否有因數的時候,不必真的逐一檢查到底,只需檢查到該數的根號就好。
最後,我們的目標在於判斷該數是否有因數,進而判斷其是否為質數,而不是找出該數所有的因數。因此,只要找到一個因數,就可以直接跳出迴圈,換下一個數字了。
在上一篇調酒日記中,我們簡單的介紹了幾個調酒常見的步驟,以及需要注意的事情。那麼今天,我們就來向大家介紹幾種常見的酒類吧!
相信螢幕前的各位如果和我一樣是酒精愛好者,有稍微研究過酒類的話,應該對「釀造酒」和「蒸餾酒」這兩個名詞不會陌生。儘管世上的酒種千千萬萬,款式各異,但大致上都可以依照製造程序分為這兩種。釀造酒,又名發酵酒,顧名思義,就是用各式穀物、果類或其他含糖物質,經酵母菌、乳酸菌或其他細菌的發酵作用,將糖分轉為酒精而成的酒,常見的種類有小米酒、葡萄酒、荔枝酒、日本清酒等;而蒸餾酒和釀造酒相比,則是多了蒸餾的程序,能將酒水中原先含有的水分分離出來,因此酒精濃較發酵酒高,香氣也較為濃郁。也因此,一般調酒在用的六大基酒,都屬於蒸餾酒。
https://zerojudge.tw/ShowProblem?problemid=a104
為數字排序的方法有很多種,而本題採用氣泡排序法,具體的作法是從第一個元素開始往下檢查,如果兩者的相對順序錯誤,就將兩者的位置對調,接著重新檢查,直到最後一個元素的位置也被確認正確無誤為止。
以本題來說,是要將正整數列由小到大排序,因此我們會從第二個數字開始檢查。如果它比前一個數字,也就是第一個數字還大的話,代表檢查到目前為止,它在數列中的位置是正確的,我們就不會移動他的位置,繼續檢查下去 ; 反之,如果它比前一個數字還小,代表它在數列中的位置不符合題目希望由小到大排序的要求,因此我們會將它與前一個數字的位置對調,然後重新檢查。