//求前10行的數
1 int a[11] = { 1 }; 2 a[0] = 1, a[1] = 1; 3 int i, j,m; 4 for (i = 2; i <= 11; i++) //2-11 輸出10行 5 { 6 for (j = i - 1; j > 1; j--) //關鍵在這句,倒着求 7 { 8 a[j] = a[j] + a[j - 1]; 9 printf("%5d", a[j]); 10 } 11 printf("%5d\n",a[0]); 12 }
本來是a[j]=a[j]+a[j-1]
結果發現計算a[j+1]時,不行了,就想到了倒着來求,正好楊輝三角也是左右對稱的,結果輸出的意思是左右數顛倒的,然而左右對稱,所以可行
//關鍵在這一句,倒着求,利用楊輝三角的對稱性