백준 1145번 적어도 대부분의 배수
문제
다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.
서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오.
문제풀이
사용한 알고리즘: brute force(1) 코드 9~21
1부터 가능한 모든 경우를 탐색합니다.해당 수가 적어도 대부분의 배수 이면 출력을 하고
그렇지 않으면 해당수+1 을 해줘서 다음 탐색을 진행합니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
int v[5]; | |
int main(void) {ios_base::sync_with_stdio(false); cout.tie(NULL); cin.tie(NULL); | |
for (int i = 0; i < 5; i++) cin >> v[i]; | |
int num = 1; | |
while (1){ | |
int cnt = 0; // 몇개로 나눠지는지 | |
for (int i = 0; i < 5; i++) | |
if (num >= v[i] && num % v[i] == 0) cnt++; | |
// 적어도 대부분의 배수 찾은경우 | |
if (cnt >= 3){ | |
cout << num << '\n'; | |
break; | |
} | |
// 아니면 숫자+1 | |
num++; | |
} | |
return 0; | |
} |
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!