题目: 请在小于99999的正整数中找符合下列条件的数。它既完全平方数,又有两位数字相同,如:144 676,用C语言编写(不能用数字转换成字符)
- #include <stdio.h>
-
#include <math.h>
-
-
int havesamenum(int num)
-
{
-
int i = 0, j;
-
char a[10] = {0};//a initial
-
while(num > 0)
-
{
-
j = num % 10;
-
a[j] += 1;
-
num = num / 10;
-
}
-
- for(i=0;i<10;i++)
- {
- if(a[i]>1)
- return 1;
- }
- return 0;
-
}
-
-
int 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);
-
}
-
return 0;
-
}
- ywx@ywx:~/Desktop/yu$ ./huawei
-
100 121 144 225 400 441 484 676 900 1156 1225 1444 1521 1600 1681 2025 2116 2209 2500 3136 3364 3600 3844 3969 4225 4489 4624 4900 5625 5776 5929 6400 6561 6889 7225 7744 8100 8281 8464 8836 9409 10000
阅读(1527) | 评论(0) | 转发(0) |