Brute Force를 이용했다는데 이거 정말 혁명이다!

스택 쌓이는 거 싫어서 루프문으로 처리하는 방법 없을까 고민했는데...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
int GCD(int a, int b)
{
    int r;
    while (b != 0)
    {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}
int main(void)
{
   int N = 15;
    int M = 6;
   printf("GCD: %d\n", GCD(N, M));
   
   return 0;
}
CodeHighligher


Posted by 슈하렌

#include <stdio.h>

int Cal_GCD(int, int);
int Cal_LCM(int, int, int);

void main(void)
{
	int gcd;
	int lcm;
	int a = 15;
	int b = 6;

	gcd = Cal_GCD(a, b);
	lcm = Cal_LCM(a, b, gcd);
	printf("GCD : %d, LCM : %d\n", gcd, lcm);
}

// 유클리드 호제법을 이용한 GCD 구하는 함수
int Cal_GCD(int A, int B)
{
	if(B==0) return A;
	else Cal_GCD(B, A%B);
}

// GCD를 이용해 LCM을 구하는 함수
int Cal_LCM(int A, int B, int GCD)
{
	return A*B/GCD;
}

Posted by 슈하렌


티스토리 툴바