C++でのパスカルの三角形
パスカルの三角形は、二項係数の配列です。一番上の行にはn=0の番号が付けられ、各行にはk =0から始まる左から番号が付けられます。各番号は、前の行にあり、現在のセルのちょうど上にある2つの番号を加算することによって求められます。また、行番号nと列番号kの(𝑛𝑘)を見つけることによって形成されます。
入力が10であるとすると、出力は-
のようになります。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
これを解決するために、次の手順に従います。
- for i:=0からn
- j =0からn– i – 2の場合、黒いスペースを印刷します
- j:=0からiの場合、nCr(i、j)を実行します
理解を深めるために、次の実装を見てみましょう-
例(C ++)
#include<iostream> #include<iomanip> using namespace std; long fact(long n){ int i, fact = 1; for(i = n; i>1; i--) fact *= i; return fact;//factorial of given number } long nCr(long n, long r){ long nume = 1, i; for(i = n; i>r; i--) nume *= i; return long(nume/fact(n-r));//generate result of nCr } void genPascalsTriangle(long n){ for(int i = 0; i<n; i++){ for(int j = 0; j<(n-i-1); j++) cout <<setw(3)<< " ";//printing space to show triangular form for(int j = 0; j<(i+1); j++) cout <<setw(3)<< nCr(i, j) <<setw(3)<< " "; cout << endl; } } main(){ int n; cout << "Enter Number of lines: "; cin >> n; genPascalsTriangle(n); }
入力
10
出力
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
-
C++で三角形の図心を見つけるプログラム
この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ
-
C++の平行四辺形内の三角形の面積
図形の面積は、2次元平面での図形の範囲です。 三角形 は3辺のポリゴンです。 平行四辺形 は、反対側が等しく平行な四辺形です。 このプログラムでは、底辺と高さが平行四辺形で、平行四辺形と同じ底辺に三角形が内接しています。指定された底辺と高さを使用して三角形の面積を計算する必要があります。 平行四辺形は次の式で与えられるため、構築された三角形の面積は平行四辺形の底と一般的な高さを取ります=0.5*底*高さ area = ½ * b * h 例 #include<iostream> #include<math.h> using names