Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
33349 | 郭澍宇 | 【J】T2小清新判断题 | C++ | 解答错误 | 0 | 86 MS | 248 KB | 799 | 2024-10-07 17:23:03 |
#include<bits/stdc++.h> using namespace std; int t,n; bool chain(int k){ int lk=k; int llk =0; int cnt = 0; int ans=0; while(k!=1){ bool flag = 0; for(int i = 2;(i-1)*(i-1)<=lk;i++){ if(k%i==0){ if(i!=ans&&ans!=0)return 1; ans=k; k/=i; cnt++; flag = 1; break; } } if(k==lk)return 0; if(!flag)return 1; } return 0; } bool prime(int n) { if(n==1)return 0; for(int i =2 ;i*i<=n;i++){ if(n%i==0) return 0; } return 1; } int main(){ cin>>t; while(t--){ cin>>n; if(n==4){ cout<<"No"<<endl; continue; } if(int(sqrt(n))*int(sqrt(n))==n&&prime(int(sqrt(n)))){ cout<<"No"<<endl; continue; } if(chain(n)){ cout<<"Yes"<<endl; } else{ cout<<"No"<<endl; } } }