C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で合計がKで割り切れる最初のN個の自然数からのペアの数


数NとKが与えられた場合、合計がKで割り切れるペアの数を数える必要があります。例を見てみましょう。

入力

N = 3
K = 2

出力

1

合計がKで割り切れるペアは1つだけです。ペアは(1、3)です。

アルゴリズム

  • NとKを初期化します。
  • Nまでの自然数を生成し、配列に格納します。
  • カウントを0に初期化します。
  • 2つのループを記述して、配列からすべてのペアを取得します。
    • すべてのペアの合計を計算します。
    • ペアの合計が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

  1. C++の最初のn個の自然数の合計の合計

    この問題では、最初のn個の自然数の合計を見つけるために、1からnまでのすべての数の合計を見つけ、それらを合計して合計を求めます。 例を見て、概念について学びましょう。 Input : 4 Output : 10 Explanation : Sum of first 1 natural number = 1 Sum of first 2 natural number = 1 + 2 = 3 Sum of first 3 natural number = 1 + 2 +3 = 6 Sum of first 4 natural number = 1 + 2 + 3 + 4 = 10 Sum of

  2. Pythonで合計値がkで割り切れるN個の自然数からペアの数を見つけるプログラム

    数nと別の値kがあるとすると、最初のN個の自然数を持つ配列Aがあるとすると、Aから要素A[i]とA[j]のペアの総数を見つける必要があります。