题目大意
(这道题的原版真的有太多槽点了xswl)
简单地说,给定n,判断 是否为一个平方数。就是判断是不是完全平方数。
解题思路
这道题队友打了一会表,就猜到了以下第一种操作(大佬带飞tql)
- 最简单的做法,直接特判n是否为1或24即可。证明比较复杂,可以参考:
- 还有一种官方题解里很迷的做法:
n(n+1)(2n+1)/6,三个乘数分别先两两除下gcd,然后分别判定sqrt是否等于自己就好。
AC代码
#include<bits/stdc++.h> using namespace std; long long t,n; int main() { scanf("%lld",&t); while(t--) { scanf("%lld",&n); if(n==1||n==24) printf("Fake news!\n"); else printf("Nobody knows it better than me!\n"); } }