#4645. 推理(十二届蓝桥杯C++国赛)
推理(十二届蓝桥杯C++国赛)
推理
题目描述:
某校有N间教室,且每间教室有2扇门,一共有2*N扇门,每扇门都有编号,分别从1到2*N。
开始时,所有门为关闭状态。现在按照以下规则对门进行处理:
第一次,将所有的门打开;
第二次,将所有编号为2的倍数的门作相反的处理(原来是打开的就关闭,原来是关闭的就打开);
第三次,将所有编号为3的倍数的门作相反的处理(原来是打开的就关闭,原来是关闭的就打开);
以此类推;
第N次,将所有编号为N的倍数的门作相反的处理(原来是打开的就关闭,原来是关闭的就打开)。
问第N次处理后,有多少扇门为打开状态?
例如:N=2,每间教室有2扇门,一共有4扇门,门编号分别为1、2、3、4
初始状态:四扇门都为关闭状态;
第一次,将四扇门全部打开;
第二次,将编号为2的倍数的门作相反的处理,即将2号门和4号门关闭。
经过两次处理之后,共有2扇门为打开状态。
如下图:
输入描述:输入一个正整数N(2≤N≤100),代表有N间教室
输出描述:按照规则对门进行N次处理之后,计算有多少扇门为打开状态并输出
样例输入:2
样例输出:2
评分标准:
10分:能正确输出一组数据;
10分:能正确输出两组数据;
15分:能正确输出三组数据;
15分:能正确输出四组数据。
Limitation
1s, 1024KiB for each test case.