๐Ÿ•๏ธ ICPC Sinchon/Basic Math

[BOJ][C++] ๋ฐฑ์ค€ 2168๋ฒˆ: ํƒ€์ผ ์œ„์˜ ๋Œ€๊ฐ์„ 

์„ ๋‹ฌ 2023. 5. 31. 23:15
๋ฐ˜์‘ํ˜•

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

 

๋ฐ˜์‘ํ˜•