Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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


パスカルの三角形は、三角形の形で整数を表現したものです。その有名な表現の1つは、二項式です。これを実現するために、組み合わせと階乗を使用できます。

パスカルの三角形の作成

三角形の外側のすべての値はゼロ(0)と見なされます。最初の行は010ですが、パスカルの三角形のスペースを取得するのは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("\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

ここでは、配列を使用せずにパスカルの三角形の形式で整数を出力します

#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

  1. C ++を使用してOpenCVで色を追跡する方法は?

    カラートラッキングは、カラー検出に似ています。追跡の目的で、検出されたオブジェクトの領域を計算するために数行を追加し、その領域の現在の位置を追跡し、最後にOpenCVのline()関数を使用してオブジェクトの移動経路を表示しました。 次のプログラムは、C++を使用してOpenCVで色を追跡する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using

  2. Pythonを使用して画面に印刷するにはどうすればよいですか?

    画面に出力する基本的な方法は、printステートメントを使用することです。 >>> print 'Hello, world' Hello, world スペースで区切られた同じ行に複数のものを印刷するには、それらの間にコンマを使用します。例: >>> print 'Hello,', 'World' Hello, World どちらの文字列にもスペースが含まれていませんでしたが、2つのオブジェクトの間にコンマがあるため、printステートメントによってスペースが追加されました。任意のデータ型は、同じprint