美文网首页
4-7 统计某类完全平方数

4-7 统计某类完全平方数

作者: Muzi_Jin | 来源:发表于2017-04-11 20:16 被阅读0次

    Attention: 如果喜欢我写的文章,欢迎来我的github主页给star
    Githubgithub.com/MuziJin

    本题要求实现一个函数,判断任一给定整数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
    

    Code

    int IsTheNumber(const int N)
    {
        int flag = 0 ;
        int k, m, temp;
         m = N; 
        k = (int) sqrt(N);
        if(k*k == N)
        {
            int a[10]={0}; //这里应该定义num的长度为10,因为传入的整数的每位数可能是0~~9,而不是传入数的位数。
            while( m>0)
            {
                temp = m%10; 
                for(int i=0; i<10; i++) //遍历N的每一位上的数字,在相应的数组中自加 如果有一个数组元素等于2 说明至少有2个位上的数相同
                {
                    if(temp == i) 
                        a[i]++;
                    if(a[i] == 2)
                    {
                        flag = 1;
                        break;
                    }
                }
                
                if( flag )  break;
                m /= 10;
            }
        }
        
        return flag; //程序最好单出口
    }
    

    转载请注明出处:github.com/MuziJin

    相关文章

      网友评论

          本文标题:4-7 统计某类完全平方数

          本文链接:https://www.haomeiwen.com/subject/zawuattx.html