Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm tất cả các cặp (a, b) trong một mảng sao cho a% b =k trong C ++

Giả sử chúng ta có một mảng A, từ mảng đó, chúng ta phải lấy tất cả các cặp (a, b) sao cho a% b =k. Giả sử mảng là A =[2, 3, 4, 5, 7] và k =3, thì các cặp là (7, 4), (3, 4), (3, 5), (3, 7).

Để giải quyết vấn đề này, chúng tôi sẽ duyệt qua danh sách và kiểm tra xem điều kiện đã cho có thỏa mãn hay không.

Ví dụ

#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 paira found";
}

Đầu ra

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