Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 합이 N으로 나눌 수 있는 1에서 1에서 b까지의 쌍 수

<시간/>

정수 배열이 주어지고 주어진 배열 값을 사용하여 x의 정수 값이 y보다 작도록 구성할 수 있는 쌍(x, y)의 총 수를 계산하는 작업입니다.

입력 - 정수 a =2, b =3, n =2

출력 − 합이 N으로 나누어 떨어지는 1에서 a 및 1에서 b까지의 쌍의 수는 − 3

설명 -

Firstly, We will start from 1 to a which includes 1, 2
Now, we will start from 1 to b which includes 1, 2, 3
So the pairs that can be formed are (1,1), (1,2), (1, 3), (2, 1), (2, 2), (2, 3) and their respective
sum are 2, 3, 4, 3, 4, 5. The numbers 2, 4, 4 are divisible by the given N i.e. 2. So the count is 3.

입력 - 정수 a =4, b =3, n =2

출력 − 합이 N으로 나누어 떨어지는 1에서 a 및 1에서 b까지의 쌍의 수는 − 3

설명 -

Firstly, We will start from 1 to a which includes 1, 2, 3, 4
Now, we will start from 1 to b which includes 1, 2, 3
So the pairs that can be formed are (1,1), (1,2), (1, 3), (2, 1), (2, 2), (2, 3), (3,1), (3, 2), (3, 3), (4,
1), (4, 2), (4, 3) and their respective sum are 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7. The numbers 3, 3, 6,
6 are divisible by the given N i.e. 3. So the count is 4

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 1~a, 1~b에 대한 정수 변수 a, b, n을 입력하고 n

    과의 나눗셈성 비교
  • 추가 처리를 위해 모든 데이터를 함수에 전달

  • 쌍을 저장할 임시 변수 개수 생성

  • i에서 0까지 FOR 루프 시작 a

  • 루프 내에서 j에서 0까지 b

    까지 다른 루프 FOR를 시작합니다.
  • 루프 내에서 i + j

    로 합계를 설정합니다.
  • 루프 내에서 IF sum % n ==0을 확인한 다음 카운트를 1 증가시킵니다.

  • 개수 반환

  • 결과 인쇄

예시

#include <iostream>
using namespace std;
int Pair_a_b(int a, int b, int n){
   int count = 0;
   for (int i = 1; i <= a; i++){
      for (int j = 1; j <= b; j++){
         int temp = i + j;
         if (temp%n==0){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int a = 2, b = 20, n = 4;
   cout<<"Count of pairs from 1 to a and 1 to b whose sum is divisible by N are: "<<Pair_a_b(a, b, n);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Count of pairs from 1 to a and 1 to b whose sum is divisible by N are: 10