문제
문제 파악
: 1로 이루어진 수의 최대공약수는 두 수의 길이의 최대공약수가 해당 공약수의 길이가 되며 그 공약수 또한 1로 이루어지게 된다.
: 왜냐하면 두 수는 1로 이루어져 있기 때문에 위와 같은 이해가 만들어진다.
예시
- 1, 11, 111, 1111 → 1
- 11, 1111, 111111 → 11, 1111
문제풀이
: 두 수의 길이의 최대공약수를 구하면 그 값이 주어진 두수의 최대공약수의 길이가 된다.
#include<iostream>
#include<cmath>
using namespace std;
unsigned long long int GCD(unsigned long long int a, unsigned long long int b) {
return (b == 0) ? a : GCD(b, a % b);
}
int main() {
unsigned long long int a, b;
cin >> a >> b;
for (int i = 0;i < GCD(a, b);i++) {
cout << "1";
}
return 0;
}
'문제풀이' 카테고리의 다른 글
BaekJoon(2447)::별찍기-10 (0) | 2021.11.03 |
---|---|
BaekJoon(9020)::골드바흐의 추측 (0) | 2021.07.19 |
BaekJoon(1085)::직사각형에서 탈출 (0) | 2021.07.19 |
BaekJoon(2869)::달팽이는 올라가고 싶다 (0) | 2021.07.19 |
BaekJoon(2292)::벌집 (0) | 2021.07.19 |