본문 바로가기

알고리즘 풀이

백준 6359번 만취한 상범

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


#include <cstdio>
#pragma warning(disable:4996)
int N, m;
int process(int m) {
int prison[101] = { 0, };
for (int i = 1; i <= m; ++i) {
prison[i] = 1;
}
// 1은 열려있다, -1은 닫혀있다.
for (int i = 2; i <= m; ++i) {
for (int j = i; j <= m; j += i) {
prison[j] = prison[j] * (-1);
}
}
int ans = 0;
for (int i = 1; i <= m; ++i) {
if (prison[i] == 1)
ans++;
}
return ans;
}
int main() {
scanf("%d", &N);
for (int i = 0; i < N; ++i) {
scanf("%d", &m);
printf("%d\n",process(m));
}
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

백준 7576번 토마토  (0) 2018.04.03
백준 5567번 결혼식  (0) 2018.03.25
백준 2302번 극장 좌석  (0) 2018.02.02
백준 9084번 동전  (0) 2018.01.24
백준 10942번 팰린드롬?  (0) 2018.01.22