输出所有形如aabb的4位完全平方数(即前两位数相等,后两位数也相等)
方法一: 思路先确定ab再判断
#include <stdio.h>//floor(x+0.5) 四舍五入
#include <math.h>
int main()
{
int a,b,sum,m;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
sum=a*1000+a*100+b*10+b;
m=floor(sqrt(sum)+0.5);
if(sum==(m*m))
{
printf("%d",sum);
}
}
}
}
重要知识点:floor(x)返回不超过x的最大整数
floor(x+0.5)四舍五入
方法二: 从1000至9999中逐个拆分各数位,再进行判断
#include<stdio.h>
int main()
{
int x,n,hi,lo;
for(x=1;;x++)
{
n=x*x;
if(n<1000)
continue;
if(n>9999)
break;
hi=n/100;
lo=n%100;
if(hi/10==hi%10&&lo/10==lo%10)
{
printf("%d",n);
}
}
}
重要知识点:
continue;//跳出本次循环
break;//结束循环