✏️백준 2609번 : 최대공약수와 최소공배수
나의 풀이
- Swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func gcd(_ x: Int, _ y: Int) -> Int {
var a = x
var b = y
while b != 0 {
let r = a % b
a = b
b = r
}
return a
}
func lmc(_ a: Int, _ b: Int) -> Int {
return a * b / gcd(a, b)
}
let ab = readLine()!.split(separator: " ").map{ Int(String($0))! }
print(gcd(ab[0], ab[1]))
print(lmc(ab[0], ab[1]))
- Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys
input = sys.stdin.readline
def gcd(a, b):
while b != 0:
r = a % b
a = b
b = r
return a
def lmc(a, b):
return int(a * b / gcd(a, b))
a, b = map(int, input().strip().split())
print(gcd(a, b))
print(lmc(a, b))