列表

详情


NC200470. 当会长和一群手贱的耗子在电梯相遇

描述

有一群耗纸,它们喜欢在ACM协会的集训楼的电梯里反复玩弄电梯(假定有这栋楼。。。),这些耗纸定义了一种规则,当他们从一楼涌进电梯之后,每只耗纸都会在电梯上啪啪啪,到处乱拍,第i只耗纸,把楼层是i的倍数全都按了一遍,也就是说第13只耗纸会把第13,26,39等楼全部按一遍,假设这个电梯的质量比较好,开始的时候全是灭的,而且电梯上的按键,每按一次会亮,再按一次会灭掉,再按一次会亮,周而复始。如果知道会长的女神正在n楼自习,会长身边有n只耗纸,他想要尽快的见到他的女神,但是会长不知道这样n只手贱的耗子在一起坐电梯能不能顺利到达n层,因此他想请hlgrc的acmer们帮他算算,他该不该和这些手贱的耗纸一起坐电梯。

输入描述

多组测试,每组输入一个数字n(0<n<10^15);

当n=0时,程序退出,该组数据不运行;

输出描述

如果会长该和这些手贱的耗纸一起坐电梯,输出“Goddess,I'm coming~~~”

否则输出“Farewell~”

示例1

输入:

11
13
1
0

输出:

Farewell~
Farewell~
Goddess,I'm coming~~~

说明:

第一组样例,一共有11只耗子,第一只耗纸会把所有的楼层全部按一遍,第二只会把2,4,6,8,10按一遍,...直到第11只耗纸把11层按一遍,那么电梯最后会去的楼层有只有4楼,会长懒得爬楼梯,因此见不到自己的女神,而女神也因为等不到会长,抑郁而终。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 484K, 提交时间: 2019-12-21 14:07:50

#include<bits/stdc++.h>

using namespace std;

int main()
{
	double n;
	while(cin>>n&&n!=0)
	{		
		if(sqrt(n)-(int)sqrt(n)<=0.0000000001)
			cout << "Goddess,I'm coming~~~" << endl;
		else
			cout << "Farewell~" << endl;
	}
 	return 0;
}

C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 216K, 提交时间: 2019-12-21 16:27:10

#include<stdio.h>
#include<math.h>
int main ()
{
	long long n,m;
	while(scanf("%lld",&n)!=EOF)
	{
		if(n==0)
		break;
		if(sqrt(n)-(int)sqrt(n)==0)
		printf("Goddess,I'm coming~~~\n");
		else
		printf("Farewell~\n");
	}
}

C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 360K, 提交时间: 2020-02-25 12:27:52

#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long a;
	while(cin>>a)
	{
		if(a==0) break;
		if(a%(int)(sqrt(a))==0) puts("Goddess,I'm coming~~~");
		else puts("Farewell~");
	}
}

上一题