#include int U(int a, int b) { //유클리드 (최대공약수) int r = a%b; if(r) U(b, r); else return b; } int main(void) { int n, a, b; scanf("%d %d",&n, &a); for(int i=0; i0) { b = U(b, tmp); } else b = tmp; } printf("%d", b); } https://www.acmicpc.net/problem/17087 17087번: 숨바꼭질 6 수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이 www.ac..
import java.util.Scanner; public class Main { public static long gcd(long a, long b) { //유클리드 호제법 long r = a%b; if(r==0) return b; //나머지가 0일 경우 최대공약수를 반환 else return gcd(b, r); //몫과 나머지의 최대공약수를 찾으러 감 } public static void main(String[] args) { Scanner scan = new Scanner(System.in); long n = scan.nextLong(); long m = scan.nextLong(); long gcd = gcd(n, m); //최대공약수 구하기 System.out.print(n*m/gcd); //최..
#include int U(int a, int b) { //유클리드 (최대공약수) int r = a%b; if(r) U(b, r); else return b; } int main(void) { long long int gcd = 1, lcm = 1, X; //X = gcd * lcm = 구하고자 하는 두 수의 곱 scanf("%lld %lld", &gcd, &lcm); X = gcd*lcm; long long int a=1, b=1; //구하고자 하는 두 수를 a, b로 둠 long long int ans_a=1, ans_b=1; //정답으로 출력할 a, b의 값을 저장하는 변수 long long int ans = 200000000; //a+b의 값을 더할 변수 for(long long int i=1; ..
- Total
- Today
- Yesterday
- 스택
- 그래프
- Krustal
- 덱
- 최소 스패닝 트리
- 누적 합
- DP
- 누적합
- XOR
- find
- 세그먼트 트리
- 기하학
- 오프라인 쿼리
- 1835번
- union
- 백준
- 그리디
- 플로이드
- BFS
- Segment Tree
- 정렬
- C언어
- DFS
- Lazy Propagation
- 브루트포스
- 1835
- PASCAL
- java
- C++
- 최대공약수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |