Light, more light

Light, more light

时间: 1ms        内存:64M

描述:

There is man named Mabu who switches on-off the lights along a corridor at our university. Every bulb has its own toggle switch that changes the state of the light. If the light is off, pressing the switch turns it on. Pressing it again will turn it off. Initially each bulb is off.

He does a peculiar thing. If there are n bulbs in a corridor, he walks along the corridor back and forth n times. On the ith walk, he toggles only the switches whose position is divisible by i. He does not press any switch when coming back to his initial position. The ith walk is defined as going down the corridor (doing his peculiar thing) and coming back again. Determine the final state of the last bulb. Is it on or off?

输入:

The input will be an integer indicating the nth bulb in a corridor, which is less than or equal to 232 - 1. A zero indicates the end of input and should not be processed.

输出:

Output ``yes'' or ``no'' to indicate if the light is on, with each case appearing on its own line.

示例输入:

3
6241
8191
0

示例输出:

no
yes
no

提示:

参考答案(内存最优[760]):

#include"stdio.h"
#include"math.h"
int main()
{
	long n;
	while(scanf("%ld",&n)&&n)
	{
		int x=sqrt(n);
		if(x*x==n)
			printf("yes\n");
		else
			printf("no\n");
	}
	return 0;
}

参考答案(时间最优[0]):

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    long n,x;
    while(cin>>n)
    {
        if(n==0)break;
        x=sqrt(n);
        if(x*x==n)cout<<"yes"<<endl;
        else cout<<"no"<<endl;
    }
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注