로딩
요청 처리 중입니다...

GCD(2)

 GCD(2)

문제 두 개의 양의 정수 a와 b가 있다. a와 b를 더하면 X가 되고, a와 b의 최대 공약수는 Y가 되는 모든 a와 b를 구하는 프로그램을 작성하라. 예를 들어 X =144이고 Y=18인 경우에는 위의 조건을 만족하는 (a, b)가 (18, 126), (54, 90), (90, 54), (126, 18) 네 개가 있다.

입력 입력 데이터는 표준 입력을 사용한다. 첫 줄에 두 개의 정수 X와 Y가 주어진다.

단, 2 <= X, Y <= 10000 출력 출력은 표준 출력을 사용한다. 더하면 X가 되고, 최대공약수는 Y가 되는 모든 a와 b를 한 줄에 하나씩 출력한다.

만약 그러한 a와 b가 하나도 존재하지 않으면 -1을 출력한다. 출력은 a에 대하여 오름차순으로 출력한다.

입력 예제 1 144 18 출력 예제 1 18 126 54 90 90 54 126 18 입력 예제 2 99 12 출력 예제 2 -1 #include int main(){ int maxa, maxb...

# c언어 # gcd # 최대공약수

원문 링크 : GCD(2)