如何使用 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
廣告