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

นับแฝดสามว่า A[i]

เราได้รับสามอาร์เรย์ A[], B[] และ C[] เป้าหมายคือการค้นหาสามองค์ประกอบทั้งหมดของอาร์เรย์เหล่านี้ซึ่ง A[i]

มาทำความเข้าใจกับตัวอย่างกัน

ป้อนข้อมูล

A[]={1,4,5 } B = { 0,2,3 } C = { 0,6,7 }

ผลผลิต − จำนวนแฝด − 4

คำอธิบาย

Triplets such that A[i]<B[j]<C[k]
(1,2,6) , (1,2,7) , (1,3,6) , (1,3,7). Total 4 triplets.

ป้อนข้อมูล

A[]={7,8,9} B = { 4,5,6 } C = { 1,2,3 }

ผลผลิต − จำนวนแฝด:0

คำอธิบาย

No Triplets that satisfy A[i]<B[j]<C[k]

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • เราใช้อาร์เรย์จำนวนเต็ม A[], B[] และ C[] ที่มีความยาวเท่ากันซึ่งเริ่มต้นด้วยตัวเลขสุ่ม

  • ใช้ตัวแปร N เพื่อเก็บความยาว

  • ฟังก์ชัน countTriplets(int a[],int b[],int c[], int n) รับทั้งสามอาร์เรย์เป็นอินพุตที่มีความยาวเท่ากัน n และคืนค่า triplets ที่ตรงตามเงื่อนไขที่กำหนด

  • สำรวจโดยใช้สามลูปสำหรับแต่ละอาร์เรย์

  • วงนอกสุด 0<=i

  • เปรียบเทียบว่า a[i]

  • ที่ส่วนท้ายของการนับลูปทั้งหมดจะมีแฝดสามซึ่ง a[i]

  • ผลตอบแทนนับเป็นผลลัพธ์

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int countTriplets(int a[],int b[],int c[], int n){
   int count = 0;
   for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++){
         for (int k = 0; k < n; k++){
            if(a[i]<b[j] && b[j]<c[k])
               { count++; }
         }
      }
   }
   return count;
}
int main(){
   int A[]={ 1,2,3}; int B[]={ 2,3,2}; int C[]={ 4,3,1};
   int N=3; //length of array
   cout <<endl<< "Number of triplets : "<<countTriplets(A,B,C,N);
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Number of triplets : 6