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

หาคู่ที่ไม่ซ้ำกันที่ทุกค่าน้อยกว่า N ใน C++


บทนำ

ในบทช่วยสอนนี้ เราจะสร้างคู่ที่ไม่ซ้ำกัน (unique pairs) โดยที่สมาชิกทั้งสองในคู่ต้องน้อยกว่า N

ขั้นตอนการแก้ปัญหา

  1. กำหนดค่า N
  2. วนลูป i จาก 1 ถึง N-1
  3. วนลูป j จาก i+1 ถึง N-1 (เพื่อไม่ให้ซ้ำ และ i < j)
  4. พิมพ์คู่ (i, j)

ตัวอย่างโค้ด

#include <bits/stdc++.h>
using namespace std;

void uniquePairs(int n) {
    for (int i = 1; i < n; ++i) {
        for (int j = i + 1; j < n; j++) {
            cout << "(" << i << "," << j << ")" << endl;
        }
    }
}

int main() {
    int n = 5;
    uniquePairs(n);
    return 0;
}

ผลลัพธ์

(1,2)
(1,3)
(1,4)
(2,3)
(2,4)
(3,4)

ความซับซ้อน

  • เวลา: O(N²) - ต้องสร้างคู่ทั้งหมด
  • พื้นที่: O(1) - ไม่ใช้พื้นที่เพิ่มเติม

จำนวนคู่ทั้งหมด = N(N-1)/2

สรุป

โค้ดง่ายมากสำหรับสร้าง combination 2 ตัวจากชุด 1..N-1 หากมีคำถาม สามารถถามได้ในส่วนความคิดเห็นครับ