[백준] 1145: 적어도 대부분의 배수

4307 단어 Problem SolvingCC

문제

[Bronze_I] 정답 비율 59%

https://www.acmicpc.net/problem/1145

생각

  1. 적어도 세 개로? 가장 작은 수를 n배하면서 3개로 나눠지는지 봐야하나?
    -> 그럼 1 2 3 4 5 같은 케이스가 안됨
  2. 3개씩 묶어 최소공배수를 구해야 하나?
    -> Bronze_I 문제 주제에 너무 복잡함. 최소공배수 공식 모름.

배운 점

  • 브루트 포스(brute force) 알고리즘 : 완전탐색 알고리즘. 가능한 모든 경우의 수를 탐색하면서 요구조건에 충족되는 결과를 가져온다.
    완전탐색도 알고리즘의 하나다. 사실 최소공배수 공식을 찾아보며 복잡하게 생각하다가 너무 모르겠어서 검색을 해봤는데, 그냥 1부터 숫자를 키우면서 3개 이상으로 나눠지는지 확인해보면 되는 문제였다. 간단하게 생각하자.

코드

#include <stdio.h>

int main(){
    int i, j;
    int check=0;
    int input[5];

    for(i=0; i<5; i++){
        scanf("%d", &input[i]);
    }

    i = 1;
    while(check<3){
        check = 0;
        for(j=0; j<5; j++)
            if(i%input[j]==0)
                check++;
        i++;
    }
 
    i--;
    printf("%d", i);
    return 0;
}

좋은 웹페이지 즐겨찾기