一下的问题都是c语言中的
本题要求实现一个函数,判断任一给定整数N
是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
1.怎么判断一个正数是平方数
http://www.cnblogs.com/peachglide/archive/2009/06/16/1504348.html
或者:sqrt(N) == (int)sqrt(N) -----简单判断
2.怎么判断一个多位数的中有两位及两位以上的数字相同
方法:摆格子:设立十个格子,分别存储0-9的标志位(或者存储对应数字的个数)
int IsSquare(int N)
{
return (int)sqrt(N) == sqrt(N);
}
int IsSameNum(int N)
{
int i;
int num[10] = {0};
while(N)
{
num[N%10]++;
N /= 10;
}
for(i = 0;i < 10;i++)
{
if(num[i] > 1)
{
return 1;
}
}
return 0;
}
int IsTheNumber ( const int N )
{
return IsSquare(N)&&IsSameNum(N);
}