Notice
Recent Posts
Recent Comments
:: ADVANCE ::
[BaekJoon][1850] 최대공약수 본문
반응형
BAEKJOON ONLINE JUDGE
https://www.acmicpc.net/problem/1850
이 문제는 약간 함정이다.
입력받은 A와 B로 1로만 만들어진 수를 만든 다음 최대공약수를 구하려 했는데 수가 너무 커서 결과를 구할 수 없었다.
문제를 풀던 도중 규칙을 찾은 것이
결국 1의 개수의 최대공약수가 결과 수의 1의 개수라는 것이었다.
따라서 A와 B의 GCD를 구한 후 이 수만큼의 1을 출력하면 되는 문제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> long long int gcd(long long int n, long long int m) { if (m == 0) return n; return gcd(m, n % m); } int main() { long long int a, b; scanf("%lld %lld", &a, &b); for (int i = 1; i <= gcd(a, b); i++) { printf("1"); } printf("\n"); return 0; } | cs |
반응형
'Algorithm > math' 카테고리의 다른 글
[BaekJoon][6588] 골드바흐의 추측 (0) | 2016.05.24 |
---|---|
[BaekJoon][9613] GCD 합 (0) | 2016.05.24 |
[수학][GCD LCM] 최대공약수와 최소공배수 (0) | 2016.05.24 |
[수학][mod] % 나머지 연산자 (0) | 2016.05.24 |
[dovelet][For] gcd_lcm (0) | 2015.01.18 |
Comments