题目描述:
监狱长……酒后会做出奇怪的举动,比如打开一些监狱门,然后关上某一些门,问最后有多少犯人逃走了……
题目描述:
直接循环解决吧。
代码:
#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 100 + 10;
bool cell[maxn];
int n;
int main() {
int T;
cin>>T;
while (T--) {
cin>>n;
memset(cell,0,sizeof(cell));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j % i == 0) cell[j] = (cell[j] == 1)?0:1;
}
}
int ans = 0;
for (int i = 1; i <= n; i++)
if (cell[i]) ans++;
cout<<ans<<endl;
}
}