查找覆盖C ++中给定N范围的所有元素的范围

假设我们有一个包含L和R的范围。我们必须检查或找到索引0 –基于覆盖所有其他给定n – 1范围的范围。如果没有这样的范围,则显示-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]