[BOJ][C++] λ°±μ€ 2168λ²: νμΌ μμ λκ°μ
https://www.acmicpc.net/problem/2168
2168λ²: νμΌ μμ λκ°μ
첫째 μ€μ κ°λ‘μ κΈΈμ΄ xcmμ μΈλ‘μ κΈΈμ΄ ycmκ° μ£Όμ΄μ§λ€. xμ yλ 1,000,000,000 μ΄νμ μμ°μμ΄λ€. xμ yμ¬μ΄μλ λΉμΉΈμ΄ νλ μ΄μ μλ€.
www.acmicpc.net
λ¬Έμ
ν λ³μ κΈΈμ΄κ° 1cmμΈ μ μ¬κ°ν λͺ¨μμ νμΌμ΄ μλ€. μ΄ νμΌλ€μ κ°λ‘κ° xcm, μΈλ‘κ° ycmμΈ μ§μ¬κ°ν λͺ¨μμ λ²½μ λΉνμμ΄ λΆμλ€. xμ yλ μ μμ΄λ€.
μ΄ μ§μ¬κ°νμ νλμ λκ°μ μ κ·Έλ Έλ€. μ§μ¬κ°νμ λΆμ΄ μλ x*yκ°μ νμΌ μ€μλ λκ°μ μ΄ κ·Έλ €μ§ νμΌλ μκ³ , κ·Έλ μ§ μμ νμΌλ μλ€. x*yκ°μ νμΌ μ€μμ λκ°μ μ΄ κ·Έλ €μ Έ μλ νμΌμ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
νμ΄
ꡬνμ μ½μ§λ§ λ°μμ΄ μ΄λ €μ΄ λ¬Έμ
μ λ ₯ λ°μ λ κ°μ ν©νκ³ λ μμ μ΅λ곡μ½μλ₯Ό λΉΌμ£Όλ©΄ λλ€.
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if(b==0) {
return a;
}
return gcd(b, a%b);
}
int main() {
int r,c;
cin >> r >> c;
int g = r>c ? gcd(r,c) : gcd(c,r);
cout << r+c-g;
return 0;
}
μ¦λͺ μ μ΄ λΈλ‘κ·Έκ° λ무 μ μ€λͺ ν΄μ£ΌμκΈ° λλ¬Έμ μλ΅!
[λ°±μ€ 2168λ²] νμΌ μμ λκ°μ
λ¬Έμ λ§ν¬: 2168λ² νμΌ μμ λκ°μ https://www.acmicpc.net/problem/2168 κ°λ‘ κΈΈμ΄λ₯Ό x, μΈλ‘ κΈΈμ΄λ₯Ό yλΌ νκ³ GCD(x, y) = GλΌ νλ©΄, x = GX, y = GYμ κ°μ΄ ννν μ μλ€. μ΄ λ λκ°μ μ κΈ°μΈκΈ°λ y/x = GY/GX = Y/X
ddoongi.tistory.com