//7744 判断n是否为完全平方数
//1:先开平方,然后看他是否为整数,用一个int变量存储sqrt四舍五入,再平方,判断是否相等 在这要用到floor函数 即向下取整函数<pre class="cpp" name="code">#include<stdio.h> #include<math.h> int main() { int a,b; for(a=0;a<=9;a++) for(b=0;b<=9;b++) {int n=a*1100+b*11; int m=floor(sqrt(n)+0.5); if(m*m==n) printf("%d",n); } return 0; }
//方法2:枚举平方根x,避免开平方操作
<pre class="cpp" name="code">#include<stdio.h> #include<math.h> int main() { int x; for(x=1;;x++) { int n=x*x; if(n<1000) continue; if(n>9999) break; int hi=n/100; int lo=n%100; if(hi/10==hi%10&&lo/10==lo%10) printf("%d",n);} return 0; }