题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。
#include<stdio.h>
#include<math.h>
//函数havesamenum确认num是否满足条件
int havesamenum(int num)
{
int i=0,j;
char a[10] = {0};
while(num>0)
{
j=num%10;
a[j]+=1;
num=num/10;
}
while(a[i]<=1&&i<10)
i++;
if (i<10)
return 1;
else
return 0;
}
void main(void)
{
int i,j,m;
m=(int)sqrt(99999);
for(i=1;i<m;i++)
{
j=i*i;
if (1==havesamenum(j))
printf("%6d\t",j);
}
}