-
题目描述:
-
给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。
-
输入:
-
每行一个整数n,1<n<10000,n=0标志输入结束。
-
输出:
-
对于每一个输入的整数,在单独的一行输出结果,如果有不为1的完全平方数因子,则输出Yes,否则输出No。请注意大小写。
-
样例输入:
-
15 12 0
-
样例输出:
-
No Yes
-
来源:
- 2010年吉林大学计算机研究生机试真题
-
-
#include<iostream> using namespace std; int main() { bool flag; int n,i; while(cin>>n && n) { flag=false; for(i=2;i*i<n;i++) if(n%(i*i)==0) { flag=true; break; } if(flag) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
-