4-7 統計某類完全平方數 (20分)
阿新 • • 發佈:2019-01-02
本題要求實現一個函式,判斷任一給定整數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
#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 n,m; n=(int)sqrt(N); m=n*n; if(m==N) { int num[10]={0}; int i; while(m>0) { for(i=0;i<=9;i++) { if(m%10==i) { num[i]+=1; if(num[i]==2) { return 1; } } } m=m/10; } return 0; } return 0; }