宾馆房间
题目描述
宾馆里有一百个房间,从1-100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员把所有编号是3的倍数的房间作“相反处理”…,以后每个服务员都是如此。当第100个服务员来过后,哪几扇门是打开的。
输入
无
输出
在一行内输出所有开着的门的编号,用空格分隔。
#include<iostream>
using namespace std;
int a[101] = {0};
int main(){
int i, j;
for(i = 1; i <= 100; ++i){
for(j = 1; j <= 100; ++j){
if(j % i == 0){
if(a[j] == 0){
a[j] = 1;
} else {
a[j] = 0;
}
}
}
}
for(i = 1; i <= 100; ++i){
if(a[i] == 1){
cout<<i<<" ";
}
}
return 0;
}