>백엔드 개발 >C++ >C 언어를 사용하여 파스칼 삼각형 형식으로 정수를 인쇄하는 방법은 무엇입니까?

C 언어를 사용하여 파스칼 삼각형 형식으로 정수를 인쇄하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-28 23:53:041303검색

파스칼의 삼각형은 정수를 삼각형 형태로 표현하는 방법입니다. 잘 알려진 표현 중 하나는 이항 방정식을 사용하는 것입니다. 조합과 계승을 사용하여 이를 수행할 수 있습니다.

파스칼의 삼각형 만들기

삼각형 외부의 모든 값은 0으로 처리됩니다. 첫 번째 줄은 0 1 0이고 파스칼의 삼각형에서 공백은 1개만 차지하고 0은 보이지 않습니다. 두 번째 행은 (0+1)과 (1+0)을 더하여 얻습니다. 출력은 두 개의 0 사이에 끼어 있습니다. 이 과정은 원하는 수준에 도달할 때까지 계속됩니다.

프로그래밍 관점에서 파스칼의 삼각형은 이전 행에 인접한 요소를 추가하여 만든 배열로 정의됩니다.

C 언어를 사용하여 파스칼 삼각형 형식으로 정수를 인쇄하는 방법은 무엇입니까?

Program 1

이 프로그램에서는 Pascal 삼각형의 정수를 배열 형식으로 인쇄합니다. -

Online Demo

#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("</p><p>");
   }
   return 0;
}
int fact(int n){
   int a;
   int sum = 1;
   for (a = 1; a <= n; a++)
      sum = sum*a;
   return sum;
}

Output

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

Program 2

여기에서 Pascal Print 정수를 삼각형 형식으로 볼 수 있습니다. 배열을 사용하지 않고

실시간 데모

#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("</p><p>");
   }
   return 0;
}

Output

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

위 내용은 C 언어를 사용하여 파스칼 삼각형 형식으로 정수를 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제