1. 程式人生 > >(函式題)4-7 統計某類完全平方數

(函式題)4-7 統計某類完全平方數

本題要求實現一個函式,判斷任一給定整數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 n,m,i;
	int ret;
    int a[10]={0};
	n=N;
	ret=0;
	/*判斷是否是完全平方數*/ 
	m=sqrt(n);
	if (m*m==n)
		ret=1;
	else
		return 0;
	/*若為完全平方數,則統計輸入整數中0-9的個數*/
	while(n!=0) {      
		i=n%10;
		a[i]++;
		n=n/10;
	}
	for(i=0;i<10;i++){
		if(a[i]>=2) { 
			ret=1;
			break;
		} 
		else 
			ret=0;
	}
	
	return ret;
}