題目大意:不再贅述。
當(dāng)且僅當(dāng)n是完全平方數(shù),輸出yes,否則輸出no。這不難想到,因?yàn)閷?duì)于n=a*b,當(dāng)輪到a時(shí)改變狀態(tài),b時(shí)又變回來(lái)了,當(dāng)a==b時(shí),只改變一次。
以下是我的代碼:
#include<stdio.h>
#include<math.h>
int main()
{
unsigned long n,sqr;
while(scanf("%lu",&n)==1)
{
if(n==0) break;
sqr=(unsigned long)floor(sqrt(n));
if(sqr*sqr==n)
printf("yes\n");
else printf("no\n");
}
return 0;
}