Codebar 程式酒吧

一座輕鬆學習程式的酒吧

0%

2022年,因為體認到網路上針對C語系初學者的程式題目學習資源不足,我開始撰寫一份以初學者角度剖析題意,釐清解題思路,並轉化為程式碼的解題報告-初學者也適用的ZeroJudge C語言詳解,但我並不滿足於此。

為了提供讀者更充實、更具系統性的學習網站,在歷時兩年的籌備後,2024年, Codebar 程式酒吧 正式成立了。我們專注於分享 程式升學活動 的相關知識與經驗,期許打造出如同酒吧一般開放的環境,讓讀者們可以針對自己感興趣的主題,依照自己的步調吸收與學習。我們相信,藉由 Codebar 程式酒吧 文章式的分享,總有一天,學習會像是在酒吧一樣,如此的輕鬆而自由。

題目連結

https://zerojudge.tw/ShowProblem?problemid=a248

建議類題

a240. 1/17小數第 n 位

解題思路

根據題意,本題希望我們將輸入進行除法運算後,輸出商數到小數點後第10000位。由於10000位明顯超出任何資料型態的變數的儲存範圍,因此我們可以換個想法,改用陣列將每一位數依序存入,最後只要輸出陣列即可。具體的做法是模擬直式除法,將運算過程拆成一位一位來看,每次都先將現在的數字乘上10倍作被除數,取商數後將其存進陣列中,再將餘令為新的被除數,直到存滿10000位為止。

閱讀全文 »

AI EXPO

  隨著近年來AI開發技術有了突破性地成長,應用端的發展也越發蓬勃。一方面嶄新的技術伴隨著開創性的思維,拓展了相關應用的領域與方向;另一方面隨著投入市場的競爭者增加,從技術、產品到品牌間的競爭更加激烈。此次有幸來到AI EXPO,親眼見證人工智慧開創的時代新潮。儘管最初是抱著旁觀者的心態參觀,但在收穫來自不同領域的眾多專家講解,以及業界對於產業脈動的反應與策略後,我想,我們是新時代的參與者。

閱讀全文 »

題目連結

https://zerojudge.tw/ShowProblem?problemid=a244

解題思路

使用scanf()函式讀取測資,再使用switch()函式依照a值輸出不同種類的運算結果。

注意事項

a002. 簡易加法,我們曾提過不同種類的資料型態。以整數來說,較常使用的資料型態是int,可儲存-2,147,483,648至2,147,483,647的整數。但本題測資較大,部分測資的運算結果會超過int型態變數所能儲存的最大數值,因此需使用long long型態的變數儲存輸入,寫法是%lld。

閱讀全文 »

建議類題

a524. 手機之謎

解題思路

根據題意,我們要找出對於n個左括號和n個右括號來說,所有合法的,也就是說「任一點左括號數量皆大於等於右括號」的匹配組合。因為相信多數人和我一樣,沒辦法從題目敘述中找出規律,因此本題我們使用遞迴排除已經輸出的情況,列舉出所有的可能性。

想要了解什麼是遞迴,必須先知道有關函數的觀念。在a002. 簡易加法,我們曾經提過函式是一種可以執行特定功能的程式區塊。當我們呼叫函式時,電腦就會執行函式內的程式。那麼,如果我在函式內呼叫了這個函式本身,會發生什麼事情呢?因為每當電腦執行函式時,都會再次收到我們的函式呼叫,因此電腦將不斷重複執行這個函式。這就是遞迴,藉由在函式內呼叫函式本身,形成循環以重複執行程式。

閱讀全文 »