楊輝三角 楊輝三角,是二項式繫數在三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的《詳解九章演算法》一書中出現。在歐洲,帕斯卡(1623 1662)在1654年發現這一規律,所以這個表又叫做帕斯卡三角形。帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。 如圖: 它的規律是,除了每一行的第一 ...
楊輝三角
楊輝三角,是二項式繫數在三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的《詳解九章演算法》一書中出現。在歐洲,帕斯卡(1623----1662)在1654年發現這一規律,所以這個表又叫做帕斯卡三角形。帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。
如圖:
它的規律是,除了每一行的第一個數和最後一個數,其餘每個數等於上面兩個數字值之和。
C語言實現:
#include <stdio.h>
void yanghui(int number);
int main(void){
int number = 0;
printf("請輸入要列印的層數:");
scanf("%d",&number);
yanghui(number);
}
void yanghui(int number){
int i , j , k , z;
int array[100][100] = {0};
for (i = 0; i < number; i++) //為每一行的第一個和最後一個數賦值1
{
for (j = 0; j <= i; j++)
{
array[i][0] = 1;
if (i == j)
{
array[i][j] = 1;
}
}
}
for( i = 0 ; i < number ; i ++) //控制行數
{
for( k = 0 ; k <= i ; k ++) //控制列數
{
if(k == 0) //如果是每行第一個數就列印1
{
for(z = 0 ; z < number - i ; z ++) //控制每一行前面的空格
{
printf(" ");
}
printf("%d",array[0][0]);
printf(" ");
}else if(k == i) //如果是每行的最後一個就列印1
{
printf("%d",array[0][0]);
}
if(k != 0 && k != i) //如果不是每行的第一個也不是最後一個就列印上一行兩個數的和
{
array[i][k] = array[i-1][k-1] + array[i-1][k];
printf("%d",array[i][k]);
printf(" ");
}
}
printf("\n"); //每列印一行進行換行
}
}
輸出: