1476.平方因子

题目描述:

给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。

输入:

每行一个整数n,1<n<10000,n=0标志输入结束。

输出:

对于每一个输入的整数,在单独的一行输出结果,如果有不为1的完全平方数因子,则输出Yes,否则输出No。请注意大小写。

样例输入:
15
12
0
样例输出:
No
Yes
#include<iostream>
#include<cmath>
using namespace std;

int main(){
    int n,i;
    while(cin>>n){
        if(n==0) break; 
        bool flag=false;
        for(i=2;i<n;i++){
            if(n%(i*i)==0) {
                flag=true;
                break;
            }
        }
        if(flag) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/bernieloveslife/p/9736416.html