import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ int n = scanner.nextInt(); for (int i = 2; i <= n&&i*i<=n; i++) { if (n%(i*i)==0){ System.out.println("Yes"); return; } } System.out.println("No"); } } }
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ if(n==0) break; bool judge=1; for(int i=2;i<=sqrt(n)&&judge;i++) if(n%(i*i)==0) judge=0; if(!judge) cout<<"Yes"<<endl; else cout<<"No"<<endl; } }
#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; /* 给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。 */ int main() { int n; while (cin>>n) { int flg = 0; for (int i = 2; i < n; i++) { if (i*i%n == 0) flg = 1; } if (flg == 0) cout << "No" << endl; else cout << "Yes" << endl; } return 0; }
#include<stdio.h> int main (){//the shorter,the better. int n,i; for(;~scanf("%d",&n)&&n;) for (i = 2;n%(i*i)%n==0?(n%(i*i)==0?printf("Yes\n"):printf("No\n"),0):1;i++); }
#include <iostream> using namespace std; int SquareFactor(int N) { for (int i = 2; i * i <= N; i++) if (N % (i * i) == 0) return 1; return 0; } int main() { int N; while (cin >> N && N) if (SquareFactor(N)) cout << "Yes" << endl; else cout << "No" << endl; return 0; }
#include <cstdio> int main(){ int n; while(scanf("%d",&n) != EOF){ if(n == 0) break; bool flag = false; for(int k = 2; k < n; ++k){ if(n%(k*k) == 0){ //k*k能整除n printf("Yes\n"); flag = true; break; //若有多个k符合条件,只输出一次Yes } } if(flag == false){ printf("No\n"); } } return 0; }
#include <iostream> #include <vector> #include <cmath> using namespace std; int main() { int n; while (cin >> n) { // 注意 while 处理多个 case if(n < 2) {cout <<"No" << endl;continue;} if((int)sqrt(n)*(int)sqrt(n) == n) {cout <<"Yes"<<endl;continue;} bool flag = false; for(int i=2;i <=sqrt(n);++i){ if(n%i==0){ if((int)sqrt(i)*(int)sqrt(i) == i) {flag = true; cout <<"Yes" << endl; break;} if((int)sqrt(n/i)*(int)sqrt(n/i)==n/i) {flag = true; cout <<"Yes" << endl; break;} } } if(!flag){ cout << "No" << endl; } } } // 64 位输出请用 printf("%lld")
#include<iostream> #include<cmath> using namespace std; int main(){ int n; while(cin >> n && n){ if((int)sqrt(n) == sqrt(n) && n != 1) {cout << "Yes" << endl;} //首先判断本身是不是完全平方数 else{//进行质因数分解,若出现两个及以上相同的因数代表存在完全平方数的因子 int cnt = 0; for(int i = 2;i <= sqrt(n);i++){ cnt = 0; while(n % i == 0){ cnt++; n /= i; } if(cnt >= 2) {cout << "Yes" << endl; break;} } if(cnt < 2) {cout <<"No" << endl;} } } }
#include<iostream> using namespace std; #define max_len 10001 int main(void) { int n; bool count = false;//记录是否有完全平方数因子 while(cin >> n) { if(n >= max_len && n <= 1) break; if(n < max_len) { for(int i = 2;i <= n;i++) { int temp = i * i; if(n % temp == 0) { cout << "Yes" << endl; count = true; break; } } } if(n < max_len && count == false) { cout << "No" << endl; break; } } return 0; }
#include<stdio.h> #include<math.h> int main() { int n,k; while(scanf("%d",&n)!=EOF) { if(n==0) break; for(k=2;k<=sqrt(n);k++) { if(n%(k*k)==0) { printf("Yes\n"); break; } } if(k>sqrt(n)) printf("No\n"); } return 0; }