6-7 統計某類完全平方數 (20 分)
本題要求實作一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。
函數接口定義:
其中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;
}
/* 你的代碼将被嵌在這裡 */
輸入樣例:
輸出樣例:
int IsTheNumber ( const int N ){
int flag = 0;
int n = N;
int temp,a[10]={0};
int t = (int)sqrt(n);
if(t * t == n){
while(n != 0){
temp = n % 10;
a[temp]++;
n /= 10;
}
for(int j = 0;j < 10;j++){
if(a[j] >= 2){
flag = 1;
}
}
}
if(flag == 1){
return 1;
}else{
return 0;
}
}