브루트포스

[백준] 1773. 폭죽쇼 풀이

hch06 2025. 2. 2. 18:46

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

 

0부터 c까지 시간이 흐르는 동안(반복문)
시간이 각 학생의 폭죽 주기와 나누었을 때 나머지가 0이면 결과값(cnt)에 1을 더한 후 마지막에 결과값을 출력한다.
(이때 나머지가 0인것은 폭죽이 터질 시점임을 의미함)

(주의: 결과값에 1을 더한 후 다른 학생의 폭죽과 중복되어서 카운팅이 되지 않도록 해야함)

 


C

더보기
더보기
#include <stdio.h>

int main(){
    int n, c; scanf("%d %d", &n, &c);
    int a[n], cnt = 0;
    for(int i = 0; i < n; i++) scanf("%d", &a[i]);
    for(int i = 1; i <= c; i++){
        for(int j = 0; j < n; j++){
            if(i % a[j] == 0) {cnt++; break;}
    }}
    printf("%d", cnt);
}

Python

더보기
더보기
n, c = map(int, input().split())
l = list(); cnt = 0
for _ in range(n): l.append(int(input()))
for i in range(1, c+1):
    for j in range(n):
        if i % l[j] == 0: cnt += 1; break
print(cnt)