其他分享
首页 > 其他分享> > SP16033 TIPTOP - Tip Top Game 题解

SP16033 TIPTOP - Tip Top Game 题解

作者:互联网

Description

Alim 和 Sufian 是好朋友。他们最近找到了一个好玩的游戏,叫做 Tip Top。游戏规则如下:

假设整数为 \(n\),请问 Alim 是否能赢。

数据范围:\(T\) 组数据,\(T\leqslant 10^5\),\(1\leqslant n\leqslant 10^{18}\)。

Solution

非常简单的一道题目。由题目可知,我们只需要求出因子的个数的奇偶性即可。

那怎么判断因子个数的奇偶性?这其实也是一个比较显而易见的结论:如果 \(n\) 是一个完全平方数,那么 \(n\) 的因子个数是奇数,否则 \(n\) 的因子个数是偶数。证明也很简单,我们知道,如果 \(i\) 是 \(n\) 的一个因子,那么 \(\frac ni\) 也是 \(n\) 的一个因子。那么如果 \(n\) 是完全平方数,那么就会存在一个因子 \(i\),使得 \(i=\frac ni\),那么 \(i\) 和 \(\frac ni\) 就重复了,需要剔除一个。这也就能够解释 \(n\) 是完全平方数时它的因子个数是奇数了。

那么这道题目就做完了,注意输出格式。

Code

namespace Solution {
	iv Main() {
		MCase {
			ll n; read(n);
			printf("Case %d: ", kase);
			((ll)sqrt(n) * (ll)sqrt(n) == n) ? Yes : No;
		}
		return;
	}
}

标签:ni,Alim,题解,Top,个数,因子,Tip,ll,leqslant
来源: https://www.cnblogs.com/Eason-AC/p/15695210.html