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;
}

 

posted @ 2018-10-02 10:07  bernieloveslife  阅读(372)  评论(0编辑  收藏  举报