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

นับคู่ที่ตัวเลขตัวหนึ่งหารตัวอีกตัวลงตัว ใน C++

ได้รับอาร์เรย์ N ตัว ต้องการนับคู่ดัชนี (i,j) ที่ i≠j และ arr[i] หาร arr[j] ลงตัว หรือ arr[j] หาร arr[i] ลงตัว

ตัวอย่าง

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

เอาต์พุต: 3

คำอธิบาย: (2,4), (2,6), (3,6)

อินพุต: Arr[] = {2, 5, 7, 9, 11}, N = 5

เอาต์พุต: 0

แนวทาง

  • ลูปซ้อน 2 ชั้น i=0..n-2, j=i+1..n-1
  • ตรวจสอบ arr[i]%arr[j]==0 || arr[j]%arr[i]==0

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

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

int countPairs(int arr[], int n) {
    int count = 0;
    for (int i = 0; i < n-1; i++) {
        for (int j = i+1; j < n; j++) {
            if (arr[i] % arr[j] == 0 || arr[j] % arr[i] == 0) {
                count++;
            }
        }
    }
    return count;
}

int main() {
    int Arr[] = {2, 3, 4, 5, 6};
    int len = sizeof(Arr) / sizeof(Arr[0]);
    cout << "Count of number of pairs: " << countPairs(Arr, len);
    return 0;
}

ผลลัพธ์

Count of number of pairs: 3