두수가 주어지면,
큰수/작은수의 나머지를 큰수와 치환한다.
이렇게 계속 나눠가다가 나머지가 없으면 그게 최대공약수가 된다.
#include <stdio.h> //최대공약수 구하기 int gcm(int x, int y) { int r; if (x < y) { r = x; x = y; y = r; } r= -1; //유클리드 호제법 while(r != 0) { r = x % y; x = y; y = r; } return x; } int main() { int x; int y; printf("input x: "); scanf("%d",&x); printf("input y: "); scanf("%d",&y); printf("GCM: %d", gcm(x,y)); return 0; }
* 피시키드님에 의해서 게시물 이동되었습니다 (2024-04-26 18:49)