Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาช่วงที่ครอบคลุมองค์ประกอบทั้งหมดของช่วง N ที่กำหนดใน C++


สมมติว่าเรามี n range ที่มี 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 ที่เล็กที่สุดและใหญ่ที่สุด หากทั้งสองเป็นช่วงเดียวกัน แสดงว่าช่วงอื่นๆ ทั้งหมดอยู่ภายในจุดนั้น มิฉะนั้นจะเป็นไปไม่ได้

ตัวอย่าง

#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]