int IsTheNumber ( const int N )
{
int r=sqrt(N);
int n=N;
int a[10]={};
if(r*r==N){
int d;
while(n){
d=n%10;
a[d]++;
if(a[d]==2){
return 1;
break;
}
n/=10;
}
}
return 0;
{
int r=sqrt(N);
int n=N;
int a[10]={};
if(r*r==N){
int d;
while(n){
d=n%10;
a[d]++;
if(a[d]==2){
return 1;
break;
}
n/=10;
}
}
return 0;
}
n/=10不小心写成n/=n了,鼓捣了半天都没找出错来。。。
题目里引用了math.h所以直接引用sqrt函数开方会简化很多。
另:形参是静态变量,不可修改。