close
C++巴斯卡三角形
新手入門的家常菜巴斯卡三角形,他的規則相當簡單,程式碼其實也不用想,就照他的規則寫就好
在校外比賽都是以這為基礎變化出奇怪的題目,有時你還不知道是巴斯卡三角形喔
所以大家一定要練習看看,熟練一下(030)/
問題來源:https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=15389
題目描述:
巴斯卡三角形的 第一行第一個字是「 1 」,在下來的數字等於「左上及右上相加」,如果左上或右上沒有數字則為 0 ,例如第二行的數字為「 1 、 1 」,第三行等於「 1 、 2 、 1 」,並且可以無限延伸下去 ~~
程式碼:
- #include<iostream>
- using namespace std;
- int main()
- {
- int level;
- cin >> level;
- int table[level][level]={0}; //裡面都塞0
- for(int i=0;i<level;i++) //裡面都變1
- for(int j=0;j<level;j++)
- table[i][j]++;
- for(int i=2;i<level;i++)
- {
- for(int j=1;j<i;j++)
- table[i][j] = table[i-1][j]+table[i-1][j-1]; //左上及右上相加
- }
- cout << table[0][0] << endl; //先印第1層
- for(int i=0;i<level;i++)
- {
- for(int j=0;j<i+1;j++)
- {
- cout << table[i][j] << " ";
- }
- cout << endl;
- }
- }
全站熱搜