Recently Updated Pages
2.2 位元枚舉和遞迴枚舉
位元枚舉介紹 位元枚舉是一種通過遍歷所有的二進制數字來列舉所有可能的狀態的方法。通過對二進制數字中的每一位進行遍歷,可生成所有可能的狀態。 位元枚舉的優勢和定義: 用二進位的方式來簡單維護枚舉...
2.1 枚舉介紹和全排列枚舉
枚舉就是將所有答案的可能都跑過一次 若有時候答案的可能樹太多,會導致超時,在這個單元中,就要學習如何以合理的時間複雜度找到答案 枚舉簡單題目 給定一個數字$n(1\leq n\leq 10^...
4.1 while 迴圈
程式執行流程結構 目前為止我們學過了兩種程式執行的流程結構,(1)循序結構;(2)選擇結構。 接下來我們要學的是 重覆結構,也就是可以重覆執行一段程式。 while 練習:輸出一行,共 5 個...
4.2 do...while 迴圈
猜數字遊戲 有時候事情要先做了,看狀況才知道要不要繼續下去。例如我們小時候玩的猜數字遊戲,A 心裡選定一個 1~100 之間的整數由 B 來猜,每次 B 猜了之後,A 就要回應他 (1)再大一...
4.3 遞增、遞減與複合指定運算子
遞增與遞減運算子 我們很常在迴圈裡用到 i = i+1 這樣的遞增敘述。 int i=1; while(i<=10) ( cout << i << " "; i = i+1; ...
1.1 數學中的遞迴 vs 程式中的遞迴
數學中的遞迴 在高一數學課時,學習到使用遞迴解決數學上的問題,以下幾個是簡單的範例 小朋友上樓梯:有一位小朋友要走樓梯上樓,他一次可以往上走一階或一次走兩階,問你若要走 $n$ 階,共有幾種...
1.2 遞迴應用
輾轉相除法 輾轉相除法在求兩數的最大公因數(GCD),是一種非常有效率的方法,我們不需要分別找出每個質因數,就可以找到其最大公因數,以下以求330, 210兩數的最大公因數為例 步驟 圖片...
3.1 if ... else ...
每一行程式碼都會執行到? 我們寫的每一行程式碼都有用嗎?當然有用。那每一行都會被執行嗎?這要看情況。 之前我們寫的程式,會從 main() 函數的第一行開始一行一行依序執行下去,直到程式結束。但...
3.3 複合條件判斷式
搭配使用邏輯運算子 底下是一個典型的帳密驗證程式片斷。 string id, password; cin >> id; cin >> password; if(id=="admin") { ...
3.2 關於 if 敘述大括號的使用
內容只有一行時可以省略大括號 if...else if...else 的大括號內如果只有一行時,可以省略大括號。 所以前面範例練習的內容可以寫成這樣。 練習:絕對值 #include <iost...
2.3 運算子與運算優先順序
在掌握了基本輸入、輸出之後,我們已經具備「將資料讀進電腦」,「將處理後資料送回外界」的能力,接下來重點就是中間的「處理」,也就是運算的部分。 首先我們要認識兩個名詞: 運算元(operand...
2.2 變數與輸入
像 1, 24, 3.14 這樣的數,我們稱為 字面常數(literal constant),它的值是固定不變的。 另外像我們在數學代數中用到的 x, y, z 等,則稱為 變數 ,它的值可以改...
2.1 輸出
使用 cout 輸出資料 在 Code::Blocks 裡建立一個專案後,它會自動產生這樣一個程式架構。 #include <iostream> using namespace std; i...
1.1 安裝 Code::Blocks
下載 至 https://www.codeblocks.org/ ,依序點選 [Downloads] →[Download the binary release]。 下載 [codeblocks...
1.2 可在線上撰寫程式的 OnlineGDB
如果你只是在練解題,只會寫些小程式,OnlineGDB 是一個不錯的選擇,你不用安裝開發環境,只要連上 OnlineGDB 網站,就可以直接使用。 按下上面綠色的 [Run],執行結果就會顯示...