Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

จะพิมพ์จำนวนเต็มในรูปสามเหลี่ยมปาสกาลโดยใช้ C ได้อย่างไร?


สามเหลี่ยมของ Pascal คือการแสดงจำนวนเต็มในรูปสามเหลี่ยม หนึ่งในการแสดงที่มีชื่อเสียงของมันคือสมการทวินาม เราสามารถใช้ชุดค่าผสมและแฟกทอเรียลเพื่อให้ได้สิ่งนี้

การสร้างสามเหลี่ยมปาสกาล

ค่าทั้งหมดที่อยู่นอกสามเหลี่ยมถือเป็นศูนย์ (0) แถวแรกคือ 0 1 0 ในขณะที่มีเพียง 1 เท่านั้นที่ได้ช่องว่างในรูปสามเหลี่ยมของ Pascal 0s จะไม่ปรากฏให้เห็น แถวที่สองได้มาโดยการเพิ่ม (0+1) และ (1+0) เอาต์พุตถูกคั่นกลางระหว่างศูนย์สองตัว กระบวนการจะดำเนินต่อไปจนถึงระดับที่กำหนด

โดยทางโปรแกรม สามเหลี่ยม Pascal ถูกกำหนดให้เป็นอาร์เรย์ที่สร้างโดยการเพิ่มองค์ประกอบที่อยู่ติดกันในแถวก่อนหน้า

จะพิมพ์จำนวนเต็มในรูปสามเหลี่ยมปาสกาลโดยใช้ C ได้อย่างไร?

โปรแกรมที่ 1

ในโปรแกรมนี้ เราจะพิมพ์จำนวนเต็มในรูปแบบ Pascal Triangle โดยใช้ Array −

#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("\n");
   }
   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

ในที่นี้เราจะเห็นการพิมพ์จำนวนเต็มในรูปแบบ Pascal Triangle โดยไม่ต้องใช้ Array

#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("\n");
   }
   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