일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- AI
- 프로그래머스
- 순열
- 킥스타트
- 브루트포스
- dp
- 코딩테스트
- 프로그래밍
- 네트워크
- 파이썬
- 구글 킥스타트
- DFS
- 동적 프로그래밍
- google coding competition
- 코딩 테스트
- 운영체제
- 코딩
- PYTHON
- kick start
- OS
- 백준
- nlp
- 딥러닝
- 리눅스
- 알고리즘
- linux
- 그래프
- 동적프로그래밍
- CSS
- Today
- Total
목록유클리드 호제법 (2)
오뚝이개발자
문제 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 방법1) 유클리드 호제법을 이용하여 gcd를 구한 뒤 lcm = A*B//gcd를 이용 방법2) 마찬가지로 유클리드 호제법을 이용해 gcd를 구하지만 lcm = gcd * (a//gcd) * (b//gcd)를 이용 코드 방법1) lcm = A*B//..
문제 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 풀이 방법 1) div가 2부터 시작해서 num1과 num2를 모두 나누어 떨어지게 하는 수를 반복적으로 찾아 gcd를 구한다. lcm은 gcd를 이용해 구한다. 방법 2) 유클리드 호제법 이용 -> gcd(a,b)=gcd(b,a%b)를 반복적으로 시행해서 a%b가 0이 되는 순간 b가 gcd임을 이용 방법 3) import math를 하여 math.gcd(a,b)를 이용하는 아주 편리한 방법도 있다. 코드 num1, num2 = input().split() ..