|
궁금해요~ 님이 쓰신 글 :
: 밑에 최소공배수와 최대공약수 구하는 프로그램 알고리즘인데요
:
: 다른 사이트에 있길래 참고를 해볼까 하고 봤는데, 100% 정확히는
:
: 모르겠거둔요. 한번도 코딩을 해본 적이 없어서...
:
: 차례차례 분석 좀 해주시면 정말 감사드리겠습니다.
:
:
:
: #include <stdio.h>
:
: int gcm(int a, int b);
:
: int main()
: {
: int m, n;
:
: printf("Enter two number:\n");
: scanf("%d%d", &m, &n);
:
: printf("GCM = %d\n", gcm(m, n));
: printf("LCM = %d\n", (m * n) / gcm(m, n));
:
: return 0;
: }
:
: int gcm(int a, int b)
: {
: int max, gcd;
: int c;
:
: max = a > b ? a : b;
: gcd = a > b ? b : a;
:
: while (max % gcd != 0)
: {
: c = max;
: max = gcd;
: gcd = c % gcd;
: }
: return gcd;
: }
여기서 최대공약수를 구하는 루틴은 '유클리드 호제법'이라는 알고리듬입니다.
위의 키워드로 중고등학교 수학책이나 인터넷을 검색해보세요.
|