Transparent White Star

[백준/C] 2609번: 최대공약수와 최소공배수

     

    마지막 백준 포스팅이 한달이 넘었습니다. 개강도 했으니 백준 풀이를 다시 시작해보겠습니다~

     

    오늘의 문제는...

     

     

    저한테는 약간 별찍기 같은 문제..

    왜냐면 중간에 이 문제 나왔는데 저한테는 너무 힘들었거든요

    이제 보니 EZ~

     

    두 수를 입력받아 큰수 작은수를 구분해주고 i를 선언해서 1부터 늘려주면서 약수인지를 확인합니다.

    min까지 i를 늘려주면서 최대공약수를 구해주면 됩니다.

     

    최소공배수는 제가 참 싫어했었는데...

    걍 공식이 있으니까 이렇게 하세요

     

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void) {
    	int n1, n2, gcd = 0, lcm, min, max;
    
    	scanf("%d %d", &n1, &n2);
    
    	if (n1 > n2) {
    		min = n2, max = n1;
    	}
    	else {
    		min = n1, max = n2;
    	}
    
    	for (int i = 1; i <= min; i++) {
    		if ((n1 % i == 0 && n2 % i == 0)) {
    			gcd = i;
    		}
    	}
    		
    	lcm = gcd * (n1 / gcd) * (n2 / gcd);
    
    	printf("%d\n%d", gcd, lcm);
    
    	return 0;
    }

     

    오랜만이라 이리저리 시도해보느라 제출을 여러번 했습니다~ 데헷 ㅋ ㅋ

    댓글