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

C++で指定されたN個の範囲のすべての要素をカバーする範囲を検索します


LとRを含むn個の範囲があるとします。他のすべてのn– 1範囲をカバーする範囲に基づいて、0のインデックスをチェックまたは見つける必要があります。そのような範囲がない場合は、-1を表示します。たとえば、L =[2、4、3、1]、R =[4、6、7、9]の場合、出力は3になります。つまり、3番目のインデックス(1〜9)の範囲がすべてをカバーすることを意味します。他のn–1の範囲の要素。

すべてのLポイントとRポイントが異なるため、最小のLポイントと最大のRポイントの範囲を見つけます。両方が同じ範囲である場合は、他のすべての範囲がその範囲内にあることを示します。それ以外の場合は不可能です。

#include<iostream>
using namespace std;
int fact (int n) {
   if (n == 0)
      return 1;
   return n * fact(n-1);
}
void showRange(int n) {
   int a = fact(n + 2) + 2;
   int b = a + n - 1;
   cout << "[" << a << ", " << b << "]";
}
int main() {
   int n = 3 ;
   showRange(n);
}

出力

[122, 124]

  1. C ++を使用して、指定された数まで加算されるすべての組み合わせを検索します

    正の数nがあるとします。正の数のすべての組み合わせを見つける必要があります。これは、その数になります。ここでは、順列ではなく、組み合わせのみが必要です。値n=4の場合、[1、1、1、1]、[1、1、2]、[2、2]、[1、3]、[4]になります。 これは再帰を使用して解決します。組み合わせを格納する配列があり、再帰的アプローチを使用してその配列を埋めます。各組み合わせは、要素の昇順で保存されます。 例 #include<iostream> using namespace std; void getCombination(int arr[], int index, int num,

  2. 特定の点をカバーする最適な長方形を見つけるためのC++プログラム

    この記事では、特定のポイントをカバーする最適な長方形を見つけるプログラムについて説明します。 この問題では、点の座標(x、y)と長さ/幅の比率=l / b(たとえば)が与えられます。与えられた点を含み、その寸法が与えられた比率に従う長方形の座標を見つける必要があります。複数の長方形が存在する場合は、ユークリッドの中心と指定された点の間の距離が最も短い長方形を選択する必要があります。 これを解決するには、まず比率l/bを最小化します。その後、min(n / l、m / b)値が(n、m)領域(2次元スペースを許可)にとどまることがわかります。まず、(x、y)が長方形の中心のみであると仮定しま