Cod sursa(job #1865524)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 1 februarie 2017 19:59:04
Problema Cifre Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<stdlib.h>
#include<iomanip>
#define difmaxfortime 1000121
using namespace std;
ifstream f("cifre.in");
ofstream g("cifre.out");
int c,k;
bool num(int x)
{
    short int ans=0;
    do
    {
        ans+=(x%10==c);
        x/=10;
    }while(x);
    return ans>=k;
}
int main()
{
    int a, b;
    f>>a>>b>>c>>k;
    double sol=0;
    if(b-a+1<=difmaxfortime)
    {
        int s=0;
        for(int i=a;i<=b;i++)
          s+=num(i);
        sol=s/(double)(b-a+1);
    }
    else
    {
        int s=0;
        for(int i=0;i<difmaxfortime;i++)
          s+=num(a+rand()%(b-a+1));
        sol=s/(double)difmaxfortime;
    }
    g<<fixed<<setprecision(4)<<sol;
    return 0;
}