全站通过率:17.63%(2024.7.24 17:09)
题目
【题目描述】
判断输入的数是否为“三质数”。
(三质数:只有三个不同因数的数。)
【输入格式】
第一行一个整数T,表示有T组测试数据。
每组测试数据输入一个整数n。
【输出格式】
对于每组测试数据,判断是否是三质数,如果是输出YES,否则输出NO。
【约定】
1<=n<=10^12,t<=10^3——————10年OI一场空…
【解析】
本题的难点在于,n的数据范围过大,暴力枚举会TLE,又没有办法判断它是不是“三质数”。
其实,我们仅需依次满足以下3个要求:
1:你会C++。
2:它有3个不同的因数。
3:它只有3个不同的因数。
那么,什么样的数有(至少)3个不同的因数呢?
答案是——完全平方数!
满足了第2个要求(当然,还有第1个),你就能写出第3个要求的代码了。
核心代码:
判断是否是完全平方数:
(double)sqrt(n) == (int)sqrt(n)
制作不易,点个赞吧b( ̄▽ ̄)d