题目:输出所有形如aabb
的四位完全平方数(即前两位数字相等,后两位数字也相等)。
思路:把四位数分成了两部分,n就可以表示成a*100+b。但是刚开始没有理解四位完全平方数的意思,后来理解了也没有从它的定义出发,而是根据一条性质,就是说个位数是2,3,7,8的数一定不是完全平方数,想要在原本那么多数里面排除几个。
最后发现还是应该根据这个本身的定义出发。
#include <iostream>
using namespace std;
int main()
{
int n;
int a,b;
for(a=11;a<=99;a+=11)
{
for(b=0;b<=99;b+=11)
{
if(a==b)
{
b+=11;
}
n= a*100+b;
for(int p=32;p<100;p++)
{
if(n== p*p)
{
cout<<n<<endl;
}
}
}
}
return 0;
}