μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SQL
- νλ‘κ·Έλλ¨Έμ€
- μ λ ¬
- λ°μ΄ν°λ² μ΄μ€
- 그리λ
- μλ£κ΅¬μ‘°
- λμ κ³νλ²
- λ¨Έμ§μνΈ
- BFS
- ꡬν
- db
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- νμ΄μ¬
- λ³ν©μ λ ¬
- DFS
- κ·Έλννμ
- ν°μ€ν 리μ±λ¦°μ§
- μμνμ
- DP
- μ°μ μμν
- λλΉμ°μ νμ
- μν
- LIS
- μμꡬνκΈ°
- κ·Έλν
- κΉμ΄μ°μ νμ
- μ€λΈμ
- μκ³ λ¦¬μ¦
- λμ ν©
- λ°±μ€
πππ°πΈ π£πΆπ΅ π΄π΅π¦π’π₯πΊ
[λ°±μ€] 2436λ²: 곡μ½μ - C++ λ³Έλ¬Έ
λ¬Έμ
μ΄λ€ λ μμ°μμ 곡ν΅μΈ μ½μλ€ μ€μμ κ°μ₯ ν° μλ₯Ό μ΅λ곡μ½μλΌκ³ νκ³ , λ μμ°μμ 곡ν΅μΈ λ°°μλ€ μ€μμ κ°μ₯ μμ μλ₯Ό μ΅μ곡배μλΌκ³ νλ€.
μλ₯Ό λ€μ΄, λ μμ°μ 12μ 90μ μ΅λ곡μ½μλ 6μ΄λ©°, μ΅μ곡배μλ 180μ΄λ€.
μ΄μ λ°λλ‘ λ κ°μ μμ°μ A, Bκ° μ£Όμ΄μ‘μ λ, Aλ₯Ό μ΅λ곡μ½μλ‘, Bλ₯Ό μ΅μ곡배μλ‘ νλ λ κ°μ μμ°μλ₯Ό ꡬν μ μλ€. κ·Έλ¬λ, μ΄λ¬ν λ κ°μ μμ°μ μμ μ¬λ¬ κ° μμ μ μμΌλ©°, λν μμ μλ μλ€.
μλ₯Ό λ€μ΄, μ΅λ곡μ½μκ° 6μ΄λ©° μ΅μ곡배μκ° 180μΈ λ μ μλ μμ μμμμ κ°μ΄ 12μ 90μΌ μλ μμΌλ©°, 30κ³Ό 36, 18κ³Ό 60, νΉμ 6κ³Ό 180μΌ μλ μλ€. κ·Έλ¬λ, μ΅λ곡μ½μκ° 6μ΄λ©° μ΅μ곡배μκ° 20μΈ λ μμ°μλ μμ μ μλ€.
λ κ°μ μμ°μκ° μ£Όμ΄μ‘μ λ, μ΄ λ μλ₯Ό μ΅λ곡μ½μμ μ΅μ곡배μλ‘ νλ λ κ°μ μμ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ λ κ°μ μμ°μκ° λΉμΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. 첫 λ²μ§Έ μλ μ΄λ€ λ κ°μ μμ°μμ μ΅λ곡μ½μμ΄κ³ , λ λ²μ§Έ μλ κ·Έ μμ°μλ€μ μ΅μ곡배μμ΄λ€. μ λ ₯λλ λ μμ°μλ 2 μ΄μ 100,000,000 μ΄νμ΄λ€.
μΆλ ₯
첫째 μ€μλ μ λ ₯λλ λ μμ°μλ₯Ό μ΅λ곡μ½μμ μ΅μ곡배μλ‘ νλ λ κ°μ μμ°μλ₯Ό ν¬κΈ°κ° μμ μλΆν° νλμ 곡백μ μ¬μ΄μ λκ³ μΆλ ₯νλ€. μ λ ₯λλ λ μμ°μλ₯Ό μ΅λ곡μ½μμ μ΅μ곡배μλ‘ νλ λ κ°μ μμ°μ μμ΄ μ¬λ¬ κ° μλ κ²½μ°μλ λ μμ°μμ ν©μ΄ μ΅μκ° λλ λ μλ₯Ό μΆλ ₯νλ€.
μμλ μ κ·Όμ΄ κΉλ€λ‘μ λ λ¬Έμ ...γ γ μ²μμ μ ν΄λ¦¬λνΈμ λ²μ μ΄μ©ν΄μ λλ¦μ νμ΄λ‘ ꡬν΄λ³΄λ € νλλ°, κ·Έλ¬λλ μλ§λ 쑰건λ€μ΄ μκΈ°λ©΄μ λ΅μ΄ μλμμ μ΄λ ΅κ² νμλ€γ γ
μ΅λ곡μ½μμ μ΅λ곡배μλ₯Ό λ¨Όμ μ λ ₯λ°μ λ€, μ΄λ₯Ό λλ μ€ κ²μ μ½μλ₯Ό ꡬνλ€. μ½μλ€ κ°μ΄λ° μλ‘μμΈ ν μμ λ€μ μ΅λ곡μ½μλ§νΌμ κ³±ν΄μ€ κ°μ΄ λ΅μ΄ λλ€.
μ½λ
#include <cstdio>
#include <cmath>
int main(void) {
int a, b;
scanf("%d %d", &a, &b);
long long int div = b / a;
long long int num1 = 0, num2 = 0;
for(long long int i = 1; i * i <= div; i++) {
if(div % i == 0) {
long long int temp1 = i;
long long int temp2 = div / i;
bool flag = true;
int count = 0;
for(int i = 1; i <= temp1; i++) {
if(temp1 % i == 0 && temp2 % i == 0) count++;
if(count > 1) {
flag = false;
break;
}
}
if(flag) {
num1 = temp1;
num2 = temp2;
}
}
}
printf("%lld %lld\n", num1 * a, num2 * a);
return 0;
}