相反处理关于门的问题

宾馆里有100个房间,从1—100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数作“相反处理”,第三个服务员把所有是3的倍数的房间作“相反处理”,···,以后每个服务员都是如此。当100个服务员来过后,哪几扇门是打开的?(所谓相反处理是:原来开着的门关上,原来开着的门打开)
在这里插入图片描述
说明:
memset(a,0,sizeof(a))的作用是把数组清零,它在cstring中定义。另一个技巧是在于输出:为了避免输出多余空格,设置了一个标志变量first,可以表示当前输出是否为第一个。第一个变量前不应有空格。

猜你喜欢

转载自blog.csdn.net/weixin_43534549/article/details/86760136