问题遇到的现象和发生背景
题目:
一个数的约数也称为因子,比如1是6的因子,2是6的因子,6是6的因子。
质数只有两个因子,1和它本身
现在定义一种新的质数,三质数,三质数只有三个不同的因子。比如4是三质数,因为它有1,2,4三个因子。比如6不是三质数,因为6有1,2,3,6四个因子。现在有一些数,你需要判断他们是不是三质数。
有T组数据,每组一个数,是三质数输出YES,不是输出NO,一个一行
样例输入:
3
4
5
6
样例输出:
YES
NO
NO
数据范围:1<=T<=10^3;对于每个n,1<=n<=10^12
问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
int main(){
int T;
cin>>T;
for(int i=0;i<T;i++){
long long num,yz=0;
cin>>num;
for(int j=1;j<=num;j++){
if(num%j==0)yz++;
}
if(yz==3){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
return 0;
}
运行结果及报错内容
我想要达到的结果
解决题目