| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 프록시
- Python
- proxy
- redis
- 백준
- 최소 신장 트리
- CS
- 파이썬
- Spring
- MST
- 자바
- 스프링
- 스프링 시큐리티
- 문자열
- test
- java
- 알고리즘
- 리플렉션
- OS
- 모던 자바 인 액션
- BOJ
- 객체지향
- Reflection
- 약수
- Junit5
- 다이나믹 프록시
- 운영체제
- 모던자바
- spring security
- Deadlock
Archives
- Today
- Total
Dev 달팽이 @_''
[파이썬] 백준 2609 번 : 최대공약수와 최소공배수 본문
출처 : www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
최소공배수를 구할 때, 유클리드 호제법을 이용하였다. 이 문제는 유클리드 호제법을 공부하기 위해 푼 문제이기도 하다. 유클리드 호제법은 r = a%b라 할 때, gcd(a,b) = gcd(b,r)이 같고 이를 r이 0일 때 까지 반복하면 그 때, b 값이 최대공약수이다. 최소공배수는 최대공약수와 a랑 b를 각각 최대공약수로 나눈 값들을 모두 곱하면 구할 수 있다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def gcd(a,b):
if b == 0:
return a
else:
return gcd(b,a%b)
a,b = map(int,input().split())
Gcd = gcd(a,b)
Lcm = Gcd*(a//Gcd)*(b//Gcd)
print(Gcd)
print(Lcm)
|
cs |
'PS > Python' 카테고리의 다른 글
| [파이썬] 백준 6588 번 : 골드바흐의 추측 (0) | 2021.02.17 |
|---|---|
| [파이썬] 백준 1929 번 : 소수 구하기 (0) | 2021.02.17 |
| [파이썬] 백준 17427 번 : 약수의 합2 (0) | 2021.02.17 |
| [파이썬] 백준 1037 번 : 약수 (0) | 2021.02.17 |
| [파이썬] 백준 4375 번 : 1 (0) | 2021.02.17 |