숫자 N이 주어집니다. 목표는 쌍의 곱이 쌍의 합과 같도록 1에서 N까지의 숫자 쌍을 찾는 것입니다.
예를 들어 이해합시다.
입력 - N=11
출력 − 쌍의 수입니다. 합으로 나눌 수 있는 1부터 N까지의 곱은 − 1
입니다.설명 − 숫자 3과 6의 곱은 18이고 그 합 9는 18을 완전히 나눕니다.
입력 - N=30
출력 − 쌍의 수입니다. 곱을 합으로 나눌 수 있는 1에서 N은 -12
설명 - 쌍은 - (3, 6), (4,12), (5, 20), (6, 12), (6, 30), (8, 24), (9, 18), (10, 15) ), (12, 24), (15, 30), (20, 30), (21, 28)
쌍 수 - 12
아래 프로그램에서 사용한 접근 방식은 다음과 같습니다.
FOR 루프를 두 번 사용하여 1에서 N까지 탐색합니다. 모든 것에 대해, 나는 (i,j)의 곱이 합 i+j로 나누어떨어질 수 있도록 j를 검색합니다. i!=j가 되도록 suc i,j 쌍에 대한 증분 수.
-
숫자 N을 입력으로 사용하십시오.
-
함수 Sum_N(N)은 N을 취하고 숫자의 곱이 숫자의 합으로 나누어 떨어지도록 쌍의 개수를 반환합니다.
-
i=1에서 i
으로 트래버스 -
j=i+1에서 j<=N.
으로 순회 -
초기 카운트를 0으로 합니다.
-
각 i 및 j에 대해 temp=(i*j)%(i+j)를 계산합니다.
-
temp가 0이면 sum은 곱을 완전히 나눕니다. 증분 카운트.
-
모든 반복이 끝나면 카운트는 그러한 쌍의 총 수를 갖게 됩니다.
-
결과로 카운트를 반환합니다.
예시
#include <bits/stdc++.h> using namespace std; int Sum_N(int N){ int count = 0; for (int i = 1; i < N; i++){ for (int j = i + 1; j <= N; j++){ int temp = (j * i) % (j + i); if (!temp){ count++; } } } return count; } int main(){ int N = 20; cout<<"Count of pairs of numbers from 1 to N with Product divisible by their Sum are: "<<Sum_N(N); return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Count of pairs of numbers from 1 to N with Product divisible by their Sum are: 6