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

C++でn辺の凸多角形の対角線の数を求めます


数nがあり、n辺の凸多角形の対角線の数を見つける必要があるとします。したがって、n =5の場合、対角線の数は5になります。

これはn面の凸多角形であるため、各頂点からn – 3の対角線を描画して、2つの側面に隣接する頂点とそれ自体を残すことができます。したがって、n個の頂点の場合はn *(n-3)になりますが、2回検討しているため、n(n – 3)/2になります。

#include<iostream>
using namespace std;
int diagonalCount(int n) {
   return n * (n - 3) / 2;
}
int main() {
   int n = 8;
   cout << n << " sided convex polygon has " << diagonalCount(n) << " diagonals";
}
があります

出力

8 sided convex polygon has 20 diagonals

  1. C++で数値の立方根を見つける

    ここでは、数値の立方根を取得する方法を説明します。数値が27とすると、この数値の立方根は3になります。この問題を解決するために、ライブラリ関数を使用せずに独自のロジックを定義します。二分探索アプローチを使用します。この問題を解決するには、次の手順に従う必要があります。 threshold =0.000001のようなしきい値があるとします。 左の値を0として開始し、右の値を数値として開始します 中央を計算する:=(左+右)/ 2 (number – mid3)の絶対値がしきい値よりも小さい場合は、回答としてmidを返します mid3が数値より大きい場合は、右に設定しま

  2. C++で整数の1の補数を見つける

    このセクションでは、整数の1の完全なものを見つける方法を説明します。補数演算子を使用してこのタスクを非常に高速に実行できますが、32ビットの補数値(4バイト整数)になります。ここでは、nビット数の補数が必要です。 22という数値があるとします。2進数に相当するものは10110です。補完された値は01001で、これは9と同じです。ここで問題が発生します。この値を見つける方法は?最初に、与えられた数のビット数を見つける必要があります。カウントがcであると仮定します(ここでは、22の場合はc =5)。 51を作成する必要があります。したがって、これは11111になります。これを行うには、1を左にc