小度学数学时遇到困难,请你帮帮他。
我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
格式
输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
样例1
输入: 34 5 6
输出: YES
NONO
AC代码:
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- using namespace std;
-
- #define ll long long
- #define PII pair
-
- bool is_prime(ll n)
- {
-
- if(n<2) return 0;
- for(ll i=2;i<=n/i;i++)
- if(n%i==0)
- return 0;
- return 1;
-
- }
-
- int main()
- {
- int t;
- cin>>t;
- while(t--)
- {
- ll a;
- cin>>a;
- ll x=sqrt(a);
- if(x*x!=a)
- puts("NO");
- else if(is_prime(x))
- puts("YES");
- else
- puts("NO");
- }
- }
小度学数学时遇到困难,请你帮帮他。
我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
格式
输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
样例1
输入: 3
4 5 6
输出: YES
NO
NO
小度学数学时遇到困难,请你帮帮他。
我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
格式
输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
样例1
输入: 3
4 5 6
输出: YES
NO
NO