🤔최대공약수
🔑반복문으로 구현
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 <iostream>
int Gcd(int a, int b)
{
int temp;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
while(b != 0)
{
int r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
std::cout << Gcd(6, 12) << std::endl;
}
|
🔑재귀함수로 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| #include <iostream>
int Gcd(int a, int b)
{
if(b == 0)
{
return a;
}
else
{
return Gcd(b, a % b);
}
}
int main()
{
std::cout << Gcd(6, 12) << std::endl;
}
|
🤔최소공배수
🔑최대공약수를 이용하여 구현
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
28
29
30
31
32
33
| #include <iostream>
int Gcd(int a, int b)
{
int temp;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
while(b != 0)
{
int r = a % b;
a = b;
b = r;
}
return a;
}
int Lcm(int a, int b)
{
return (a * b) / Gcd(a, b);
}
int main()
{
std::cout << Gcd(6, 12) << std::endl;
std::cout << Lcm(6, 12) << std::endl;
}
|
Leave a comment