--- title: 第三堂 tags: 資料結構筆記 --- #### 更大的 rand() ```cpp num = (num<<16)|rand(); ``` ### 遞迴演算法 - 直接遞迴 - 間接遞迴 - 終止條件 #### 階層 ```cpp= #include <bits.stdc++.h> using namespace std; int factorial(int n){ if(n==1)return 1; return n*factorial(n-1); } int main(){ int n; cin>>n; cout<<factorial(n)<<endl; } ``` #### Towers of Hanoi ```cpp= #include <bits/stdc++.h> using namespace std; void Hanoi(int n,char a,char b,char c){ if(n==1){ cout<<"move disk from "<<a<<" to "<<c<<endl; } else{ Hanoi(n-1,a,c,b); Hanoi(1,a,b,c); Hanoi(n-1,b,a,c); } } int main(){ int n;cin>>n; Hanoi(n,'A','B','C'); } ```