[C언어] 최대공약수

Dragony·2019년 12월 11일
0

C언어

목록 보기
1/5

#include <stdio.h>
int getGCD(int a, int b); //iteration을 이용
int recursion(int a, int b);//recursion을 이용

int main() {

int x, y, gcd;

printf("두개의 양수 a,b를 입력하시오: ");
scanf("%d %d", &x, &y);

gcd = getGCD(x, y);
//gcd = recursion(x, y);
printf("최대공약수 : %d ", gcd);
printf("최소공배수: %d ", (x*y) / gcd);

return 0;

}

int getGCD(int a, int b) { //반복을 이용해 최대공약수 구하기

int r;

while (b != 0) {
	r = a % b;
	a = b;
	b = r;
}
return a;

}

int recursion(int a, int b) { //재귀를 이용해 최대공약수 구하기

if (a%b == 0) return b;
else return recursion(b, a%b);

}

profile
안녕하세요 :) 제 개인 공부 정리 블로그입니다. 틀린 내용 수정, 피드백 환영합니다.

0개의 댓글