记录一道简单的C语言编程题作为复习
在这里插入代码片#include<stdio.h>
#include<math.h>
int main(){
int n,num[10];
double root;
int a,b;
scanf("%d %d",&a,&b);
for(n=a;n<=b;n++){
for(int i=0;i<=9;i++) num[i]=0; //检验每个数都需要清零计数数组
root=sqrt(n);
if((int)root==root){//n是否为完全平方数
int m=n;
while(m>0){//把每位数拆解到数组中
int d=m%10;
num[d]++;
m/=10;
}
int flag=0;
for(int i=0;i<=9;i++){//检验有无相同的数字
if(num[i]>=2) {
flag = 1;
break;
}
}
if(flag) printf("%d\n",n);
}
}
return 0;
}
100 400
100
121
144
225
400