알고리즘 풀이
백준 6359번 만취한 상범
dokrsky
2018. 2. 7. 23:22
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;}