반응형

2개의 정수를 입력받아서 최대 공약수와 최소 공배수를 반환하는 함수를 작성하고 테스트하라. 최대 공약수는 유클리드의 방법을 사용하여서 계산한다.


유클리드 호제법 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd);
int main(void)
{
    int x, y, i, j;
    printf("x값을 입력하세요: ");
    scanf("%d"&x);
    printf("y값을 입력하세요: ");
    scanf("%d"&y);
    get_lcm_gcd(x,y,&i,&j);
    printf("최소공배수 : %d\n최대공약수 : %d\n", i, j);
    return 0;
}
void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd)
{
    int r;
    int a,b;
    a=x; b=y;
    while(b!=0)
    {
    r=a%b;
    a=b;
    b=r;
    }
    *p_gcd=a;
    *p_lcm=(x*y)/(*p_gcd);
}
cs






반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

대문자 변환기  (0) 2016.08.19
배열 합치기  (0) 2016.08.16
배열 탐색  (0) 2016.08.15
월급의 총액  (0) 2016.08.15
기본급과 보너스  (0) 2016.08.15

+ Recent posts