#include<iostream>
using namespace std;
int main(){
unsigned long long int x;
while(cin>>x){
if(x>0){
unsigned long long int y,i,j;
for(i=1;i*i<=x;i=i+1){
for(j=i;j*j<=x;j=j+1){
y=i*j;
}
}
if(x==y){
cout<<"yes"<<endl;
}else if(x!=y){
cout<<"no"<<endl;
}
}else{
return 0;
}
}
}
今年延平中學7年級第一次周考有考
//利用完全平方數的特性來找
#include
using namespace std;
int main(){
unsigned long long int x;
while(cin>>x){
if(x>0){
unsigned long long int y,i,j;
for(i=1;i*i<=x;i=i+1){
for(j=i;j*j<=x;j=j+1){
y=i*j;
}
}
if(x==y){
cout<<"yes"<<endl;
}else if(x!=y){
cout<<"no"<<endl;
}
}else{
return 0;
}
}
}
今年延平中學7年級第一次周考有考
//利用完全平方數的特性來找
你的複雜度是O(N)的喔
你可以一個for迴圈掃過去然後判一下有沒有i*i==x的就好了