ホームページ >バックエンド開発 >C++ >C言語を使用して整数をパスカル三角形形式で出力するにはどうすればよいですか?

C言語を使用して整数をパスカル三角形形式で出力するにはどうすればよいですか?

WBOY
WBOY転載
2023-08-28 23:53:041361ブラウズ

パスカルの三角形は、整数を三角形の形で表す方法です。よく知られている表現の 1 つは、二項方程式を使用することです。これは、組み合わせと階乗を使用して行うことができます。

パスカルの三角形を構築する

三角形の外側の値はすべてゼロ (0) として扱われます。最初の行は 0 1 0 で、パスカルの三角形のスペースを占めるのは 1 だけですが、0 は見えません。 2 行目は (0 1) と (1 0) を加算することによって取得されます。出力は 2 つのゼロの間に挟まれます。このプロセスは、目的のレベルに達するまで続きます。

プログラミングの観点から見ると、パスカルの三角形は、前の行に隣接する要素を追加することによって構築される配列として定義されます。

C言語を使用して整数をパスカル三角形形式で出力するにはどうすればよいですか?

プログラム 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("</p><p>");
   }
   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("</p><p>");
   }
   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

以上がC言語を使用して整数をパスカル三角形形式で出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。