-
判断满足条件的三位数:编写一个函数,利用参数传入一个3位数n,找出101~n间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。试编写相应程序。
#include<stdio.h>
#include<math.h>
int sq(int n);
int main(){
int n;
scanf("%d",&n);
printf("101~%d之间是完全平方数并且有两位数相同的整数有%d个\n",n,sq(n));
return 0;
}
int sq(int n){
int num,i,count;
count=0; //记录符合条件的值的个数
for(i=11;i<=(int)sqrt(n);i++){//遍历101~n之间可能是完全平方数的平方根
num=pow(i,2);
if((num%10)==(num/100)||(num%10)==((num/10)%10)||(num/100)==((num/10)%10)){//判断它是否有两位数相同
count++;
}
}
return count;
}
输入样例:999
输出结果:101~999之间是完全平方数并且有两位数相同的整数有8个