Cod sursa(job #1118456)

Utilizator michael9ufoStanescu Mihai michael9ufo Data 24 februarie 2014 11:15:23
Problema Cifre Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

long long A, B;
int C, K;

long long cazFav()
{
    long long cf = 0;

    for(long long i=A;i<=B;++i)
    {

        long long nr = i;
        int cnt = 0;
        while(nr)
        {

            if(nr % 10 == C)
                ++cnt;

            if(cnt == K)
            {
                ++cf;
                break;
            }

            nr /= 10;
        }

        //cout<<i<<" - "<<cnt<<"\n";
    }

    return cf;
}

int main()
{

    freopen("cifre.in", "r", stdin);
    freopen("cifre.out", "w", stdout);

    cin>>A>>B>>C>>K;

    //cout<<A<<" "<<B<<" "<<C<<" "<<K<<" ";

    long long CAZ_POS = B - A + 1;

    //cout<<"\n";

    //cout<<CAZ_POS<<" ";

    long long CAZ_FAV = cazFav();

    //cout<<CAZ_FAV<<" ";

    cout<<setprecision(4)<<(double)CAZ_FAV / CAZ_POS<<"\n";

    return 0;
}