C++ 中從前 N 個自然數中找出和能被 K 整除的數對個數
給定數字 N 和 K,我們需要計算和能被 K 整除的數對的數量。讓我們看一個例子。
輸入
N = 3 K = 2
輸出
1
只有一對數的和能被 K 整除。這對數是 (1, 3)。
演算法
- 初始化 N 和 K。
- 生成直到 N 的自然數並將它們儲存在陣列中。
- 將計數初始化為 0。
- 編寫兩個迴圈以獲取陣列中的所有數對。
- 計算每對數的和。
- 如果數對的和能被 K 整除,則遞增計數。
- 返回計數。
實現
以下是上述演算法在 C++ 中的實現
#include <bits/stdc++.h> using namespace std; int get2PowersCount(vector<int> arr, int N, int K) { int count = 0; for (int i = 0; i < N; i++) { for (int j = i + 1; j < N; j++) { int sum = arr[i] + arr[j]; if (sum % K == 0) { count++; } } } return count; } int main() { vector<int> arr; int N = 10, K = 5; for (int i = 1; i <= N; i++) { arr.push_back(i); } cout << get2PowersCount(arr, N, K) << endl; return 0; }
輸出
如果您執行以上程式碼,則將獲得以下結果。
9
廣告