#include <iostream>
#include <cstring>
using namespace std;
const int MAX = 101;
int t,room;
int roomnum[MAX];
int escape(int r) {
memset(roomnum, 0, sizeof(roomnum));
for (int i = 1; i <= r; i++) {
for (int j = 1; i*j <= r; j++) {
if (roomnum[i*j] == 0)
roomnum[i*j] = 1;
else
roomnum[i*j] = 0;
}
}
int answer = 0;
for (int i = 1; i <= r; i++) {
if (roomnum[i] == 1)
answer++;
}
return answer;
}
int main(void) {
cin >> t;
for (int i = 0; i < t; i++) {
cin >> room;
cout << escape(room) << endl;
}
return 0;
}
'백준 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글
백준 9252번 C++ (0) | 2019.02.16 |
---|---|
백준 1915번 C++ (0) | 2019.02.14 |
백준 1309번 C++ (0) | 2019.02.13 |
백준 11054번 C++ (0) | 2019.02.13 |
백준 1965번 C++ (0) | 2019.02.13 |