Cod sursa(job #1150186)

Utilizator PatrikStepan Patrik Patrik Data 22 martie 2014 17:32:01
Problema Cifre Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
    #include<cstdio>
    #include<cstdlib>
    #include<ctime>
    using namespace std;
    #define MAX 800000
    int A , B ,C ,  K  , cf;

    bool inline verif(int x)
    {
        int k = 0;
        while(x)
        {
            if(x%10 == C)k++;
            x/=10;
        }
        return k >= K;
    }

    int main()
    {
        freopen("cifre.in" , "r" , stdin );
        freopen("cifre.out" , "w" , stdout );
        scanf("%d%d%d%d" , &A , &B , &C , &K );
        if(B - A+1 < MAX)
        {
            for(int i = A ; i <= B ; ++i )
                if(verif(i))cf++;
            printf("%.4f" , (float)cf/(B-A+1));
        }
        else
        {
            srand(time(NULL));
            for(int i = 1 ; i <= MAX ; ++i )
            {
                int x = rand()%(B-A) + A;
                if(verif(x))cf++;
            }
            printf("%.4f" , (float)cf/MAX);
        }
        return 0;
    }