导航

C语言-6-7:统计某类完全平方数

Posted on 2020-07-05 10:28  ErgoCogito  阅读(633)  评论(0编辑  收藏  举报

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:

int IsTheNumber ( const int N );

裁判测试程序样例:

#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

实现函数:

 1 int IsTheNumber ( const int N )
 2 {
 3     int n = N;
 4     int x = sqrt(n);
 5     int b;
 6     int p[10]={0};
 7     if(x*x == n)
 8     {
 9         while(n)
10         {
11             b=n%10;
12             p[b]++;
13             n/=10;
14         }
15     }
16     for(int i=0;i<=9;i++)
17     {
18         if(p[i]>1)
19         {    
20             return 1;//若有数值出现次数大于1则会返回1给程序。
21         }
22     }
23     return 0;//函数正常执行完,返回0
24 }