Algorithm/BOJ
[BOJ] ํผ๊ฑฐ์จ๊ณผ ์ฌ๊ณผ(2942)
vividswan
2022. 3. 5. 03:50
[๋ฐฑ์ค(BOJ)] ํผ๊ฑฐ์จ๊ณผ ์ฌ๊ณผ(2942) C++
๋ฌธ์ : BOJ_2942๋ฒ ํผ๊ฑฐ์จ๊ณผ ์ฌ๊ณผ
๋ฌธ์ ์ค๋ช
์ํ, ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
๋ ์์ธ R,G๊ฐ ์ฃผ์ด์ง๋ฉด, ๋ ์๋ฅผ ๋ชจ๋ ๋๋ ์ ์๋ ์์ ๊ทธ ์๋ก R,G๊ฐ ๋๋์ด์ง ๊ฐ์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ ๋๋ค.
Solution
๊ฒฐ๊ตญ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๊ณ ๊ทธ ์ต๋ ๊ณต์ฝ์์ ์ฝ์๋ฅผ ๊ตฌํด์ผํ๋ ๋ฌธ์ ์์ผ๋ก ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ด์ฉํด ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๊ณ ,
R,G๊ฐ ์ต๋ 10์ต์ด๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์๊ฐ์ด๊ณผ ์์ผ๋ก ๋ฃจํธ N๋ฒ๊น์ง๋ง ๋ณด๋ฉด๋๋ ์ฝ์์ ์ฑ์ง์ ์ด์ฉํ์ฌ ๋ฃจํธ N๋ฒ๋ง์ ๊ตฌํ ์ ์์ต๋๋ค.
Description
- ๋ฃจํธ N๋ฒ๋ง์ ๊ตฌํ๊ธฐ ์ํด, (์ต๋๊ณต์ฝ์/์ฃผ์ด์ง ์ฝ์)๋ฅผ ์ต๋๊ณต์ฝ์๋ก ๋ค์ ๋๋ ์ ์ถ๋ ฅํด์ผํฉ๋๋ค. (์ด ๋ ์ฃผ์ด์ง ์ฝ์ == (์ต๋๊ณต์ฝ์/์ฃผ์ด์ง ์ฝ์)์ธ ๊ฒฝ์ฐ ์ฃผ์!)
- ๋ฌธ์ ์๋ ์ฃผ์ด์ก๊ณ , ์คํ์
์ ์ง์ด๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ์ ์์๋ ์๊ด ์์ต๋๋ค.
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main(void) {
int r, g;
int res_r, res_g;
scanf("%d%d", &r, &g);
res_r = r;
res_g = g;
if (r < g) swap(r, g);
while (g) { // ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
int temp = r;
r = g;
g = (temp % g);
}
for (int i = 1; i <= sqrt(r); i++) {
if ((r % i) == 0) {
printf("%d %d %d\n", i, res_r / i, res_g / i);
if(i!=(r/i))printf("%d %d %d\n", r / i, res_r / (r / i), res_g / (r / i));
// ์ด ๋ ์ฃผ์ด์ง ์ฝ์ != (์ต๋๊ณต์ฝ์/์ฃผ์ด์ง ์ฝ์) ์ผ ๋,
}
}
return 0;
}