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

หาคู่ (a, b) ในอาร์เรย์ที่ a % b = k ด้วย C++

ข้อความโจทย์

สมมติว่าเรามีอาร์เรย์ A จากอาร์เรย์นั้น เราต้องหาคู่ทั้งหมด (a, b) ที่ทำให้ a % b = k สมมติอาร์เรย์คือ A = [2, 3, 4, 5, 7] และ k = 3 คู่คือ (7, 4), (3, 4), (3, 5), (3, 7)

เพื่อแก้ปัญหานี้ เราจะท่องรายการและตรวจสอบว่าเงื่อนไขที่กำหนดเป็นจริงหรือไม่

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

#include <iostream>
using namespace std;

bool displayPairs(int arr[], int n, int k) {
    bool pairAvilable = true;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (arr[i] % arr[j] == k) {
                cout << "(" << arr[i] << ", " << arr[j] << ")" << " ";
                pairAvilable = true;
            }
        }
    }
    return pairAvilable;
}

int main() {
    int arr[] = { 2, 3, 4, 5, 6, 7 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 3;
    if (displayPairs(arr, n, k) == false)
        cout << "No pair found";
}

ผลลัพธ์

(3, 4) (3, 5) (3, 6) (3, 7) (7, 4)