查找数组中的所有对(a,b),使得C ++中的%b = k

假设我们有一个数组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 paira found";
}

输出结果

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