1. 程式人生 > 實用技巧 >楊輝三角形的不同表示

楊輝三角形的不同表示

#include<stdio.h>
#define Line 10
/*
第一種 就是 用二維陣列來表示
    每行第一個元素和最後一個都是1
    從第三行開始,中間元素都是上一行同一列以及其左側元素之和
*/
int main(void){
    int a[Line][Line];

    a[0][0] = 1;
    for (int i = 1; i < Line; i++){a[i][0] = 1; a[i][i] = 1;}
    for (int i = 2; i < Line; i++){
        for (int j = 1; j < i; j++){
            a[i][j] 
= a[i - 1][j] + a[i - 1][j - 1]; } } printf("楊輝三角形如下:\n"); for (int i = 0; i < Line; i++){ for (int t = 0; t < Line * 2 - i * 2; t++) printf(" "); for (int j = 0; j <= i; j++){ printf("%4d", a[i][j]); } printf("\n"); } return
0; }
//這裡的x從0開始,而y從1開始
int f(int x, int y){//求楊輝三角中第x行第y列的值
    int t;
    
    if (y == 1 || y == x + 1) return 1;//x行的第1或最後一列,都為1
    t = f(x - 1, y - 1) + f(x - 1, y);
    
    return t;
}