本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
#include <stdio.h> #include <math.h> int IsTheNumber ( const int N ); int main() { int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; for ( i=n1; i<=n2; i++ ) { if ( IsTheNumber(i) ) cnt++; } printf("cnt = %d\n", cnt); return 0; } /* 你的代码将被嵌在这里 */
105 500
cnt = 6
int IsTheNumber(const int N) { int num = N, temp, array[10] = {0}, numSqrt = sqrt(num); if (numSqrt * numSqrt == num) { while (num) { temp = num % 10; array[temp]++; num /= 10; } for (int i = 0; i <= 9; i++) { if (array[i] > 1) { return 1; } } } return 0; }