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

นับคู่ลำดับที่มีผลรวมเป็นเลขคู่และเลขคี่ ใน C++

ได้รับอาร์เรย์ n ตัว ต้องการนับคู่ลำดับ (arr[x], arr[y]) ที่ผลรวมเป็นเลขคู่หรือเลขคี่ คู่ (i,j) และ (j,i) นับแยกกัน

ตัวอย่าง

อินพุต: Arr[] = {1, 1, 2, 3}, N = 4

เอาต์พุต: ผลรวมคู่: 6, ผลรวมคี่: 6

อินพุต: Arr[] = {2, 2, 2}, N = 3

เอาต์พุต: ผลรวมคู่: 6, ผลรวมคี่: 0

แนวทาง

  • ลูปซ้อน 2 ชั้น i=0..n-2, j=i+1..n-1
  • คำนวณ sum = arr[i]+arr[j]
  • ถ้า sum%2==0 เพิ่ม count1 += 2 (นับ (i,j) และ (j,i))
  • มิฉะนั้น เพิ่ม count2 += 2

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

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

void countPairs(int arr[], int n) {
    int count1 = 0, count2 = 0;
    for (int i = 0; i < n-1; i++) {
        for (int j = i+1; j < n; j++) {
            int sum = arr[i] + arr[j];
            if (sum % 2 == 0) count1 += 2;
            else count2 += 2;
        }
    }
    cout << "Even Sum pairs: " << count1;
    cout << endl << "Odd Sum pairs: " << count2;
}

int main() {
    int arr[] = {1, 2, 3, 2};
    int n = sizeof(arr) / sizeof(int);
    countPairs(arr, n);
    return 0;
}

ผลลัพธ์

Even Sum pairs: 4 Odd Sum pairs: 8