如何使用 C 語言列印帕斯卡三角形的整數形式?


帕斯卡三角形是以三角形形式表示整數。其中一個著名的表示方法是使用二項式方程。我們可以使用組合和階乘來實現這一點。

構造帕斯卡三角形

三角形外部的所有值都被視為零 (0)。第一行是 0 1 0,而只有 1 佔據帕斯卡三角形中的一個空間,0 是不可見的。第二行是透過新增 (0+1) 和 (1+0) 獲得的。輸出夾在兩個零之間。此過程持續進行,直到達到所需的級別。

在程式上,帕斯卡三角形被定義為一個數組,該陣列透過新增前一行中的相鄰元素來構造。

程式 1

在這個程式中,我們將使用陣列列印帕斯卡三角形的整數形式。

 線上演示

#include <stdio.h>
int fact(int);
int main(){
   int i,rows,j;
   printf("enter no of rows :");
   scanf("%d",&rows);
   for (i = 0; i < rows; i++){
      for (j = 0; j <= (rows- i - 2); j++)
         printf(" ");
      for (j = 0 ; j <= i; j++)
         printf("%d ",fact(i)/(fact(j)*fact(i-j)));
      printf("
");    }    return 0; } int fact(int n){    int a;    int sum = 1;    for (a = 1; a <= n; a++)       sum = sum*a;    return sum; }

輸出

Enter no of rows :5
      1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1

程式 2

在這裡,我們將看到不使用陣列列印帕斯卡三角形的整數形式

 線上演示

#include<stdio.h>
int main(){
   int num,row,i;
   printf("Enter the number of rows: ");
   scanf("%d",&num);
   for(row=1; row<=num; row++){
      int a=1;
      for(i=1; i<=row; i++){
         printf("%d ",a);
         a = a * (row-i)/i;
      }
      printf("
");    }    return 0; }

輸出

Enter the number of rows: 6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

更新於: 2021年3月5日

270 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告