问题标题: 开关房门

0
0
已解决
谈文瑞
谈文瑞
新手光能
新手光能

百花宾馆有n个房间(1<=n<=200),按顺序分别编号为1、2、3、……、n号。第一位服务员先将所有的房间门都打开;第二服务员将2的倍数的房间门关闭;第三位服务员将所有3的倍数的房间门作相反处理(即原来房间门开的,现在把它关闭;原来门是关闭的,现在将它打开)。以后的服务员都按照第三位服务员的方式把自己倍数的房间门作相反处理。请问当第n位服务员处理完之后,哪些房间的门是打开的,请输出它们的编号。

输入:5   输出:1 4

输入:20  输出:1 4 9 16

怎么做?不是酷町堂的题。


0
已采纳
蒋智航
蒋智航
高级天翼
高级天翼

do while()

先i++(int i=0;)

l=i*i;(l=0);

while的条件表达式为while (l<m-l);

m是输入的数,整形变量

0
吕牧原
吕牧原
高级守护
高级守护

do while()

先i++(int i=0;)

l=i*i;(l=0);

while的条件表达式为while (l<m-l);

m是输入的数,整形变量

0
蒋智航
蒋智航
高级天翼
高级天翼

其实这一题就是找n以内的非负完全平方数

0
蒋智航
蒋智航
高级天翼
高级天翼
do
    {   
        i++;
        l=i*i;
        cout<<l<<' ';
    }
    while (l<m-l);

 

0
我要回答