题目:请在小于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);
}
}
本博客介绍了一个使用C语言实现的算法,用于在小于99999的正整数中查找既是完全平方数又包含两位数字相同的数。通过定义一个辅助函数`havesamenum`来判断一个数是否满足此条件,并使用循环遍历可能的完全平方数。

被折叠的 条评论
为什么被折叠?



