获得范围[a,b]之间具有完美数字的所有完美正方形的最佳方法是什么?完美数字完美正方形是具有所有数字完美正方形的数字。我做了如下
for j=a to b
do if(checkPerfectSquare(j) && checkPerfectDigit(j))
then ctr++
print ctr
int checkPerfectSquare(n)
{
if n<0
return 0
root=round(sqrt(n))
return (n==root*root)
}
int checkPerfectDigit(n)
{
while n>0
do rem=n%10
n=n/10
if(!checkPerfectSquare(rem))
return 0
return 1
}