本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。
int search( int n )
{
int m=0,t=0,a,b,c,result=0;
for(int i=11;i<=sqrt(n);i++)
{
result=pow(i,2);
c=result%10;
b=(result/10)%10;
a=result/100;
if(a==b||a==c||b==c)
{
m++;
}
}
return m;
}
本题最大的麻烦是如何判断一个数是否为完全平方数
由于pow函数只有整数型才能使用,则i=sqrt(n),即i为整数时result=pow(i,2)才成立并继续运行