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