ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€(BOJ)] 2609번 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜, Cμ–Έμ–΄ 풀이
    PS(Problem Solving)/C 2020. 8. 2. 18:15
    λ°˜μ‘ν˜•

    <μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜>, 2609번

     

    문제

    두 개의 μžμ—°μˆ˜λ₯Ό μž…λ ₯λ°›μ•„ μ΅œλŒ€ κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œ 곡배수λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

     

    μž…λ ₯

    첫째 μ€„μ—λŠ” 두 개의 μžμ—°μˆ˜κ°€ 주어진닀. 이 λ‘˜μ€ 10,000μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ©° 사이에 ν•œ 칸의 곡백이 주어진닀.

     

    좜λ ₯

    첫째 μ€„μ—λŠ” μž…λ ₯으둜 주어진 두 수의 μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό, λ‘˜μ§Έ μ€„μ—λŠ” μž…λ ₯으둜 주어진 두 수의 μ΅œμ†Œ 곡배수λ₯Ό 좜λ ₯ν•œλ‹€.

     

    예제 μž…λ ₯ 1 

    24 18

    예제 좜λ ₯ 1 

    6

    72

     

    풀이

    이 λ¬Έμ œλŠ” 두 μ •μˆ˜λ₯Ό μž…λ ₯받은 ν›„ κ·Έ 수의 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λŠ” 것이닀. λ‚˜λŠ” μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ„ μ΄μš©ν•΄μ„œ μ΅œλŒ€κ³΅μ•½μˆ˜(GCD)λ₯Ό κ΅¬ν•œ ν›„ μ΅œμ†Œκ³΅λ°°μˆ˜(LCM)은 μž…λ ₯받은 두 수λ₯Ό κ³±ν•˜κ³  μ΅œλŒ€κ³΅μ•½μˆ˜λ‘œ λ‚˜λˆ μ£ΌλŠ” 방식을 μ΄μš©ν•΄μ„œ ν”„λ‘œκ·Έλž¨μ„ μ œμž‘ν•˜μ˜€λ‹€.

     

    #include <stdio.h>
    
    int GCD(int n1, int n2)
    {
    	int n3 = 0;
    
    	while (n2 != 0)
    	{
    		n3 = n1 % n2;
    		n1 = n2;
    		n2 = n3;
    	}
    
    	return n1;
    }
    
    int main(void)
    {
    	int num1, num2;
    
    	scanf("%d %d", &num1, &num2);
    	printf("%d \n", GCD(num1, num2));
    	printf("%d \n", num1 * num2 / GCD(num1, num2));
    
    	return 0;
    }
    
    λ°˜μ‘ν˜•
Designed by Tistory.