Cod sursa(job #1500214)

Utilizator CosminAlexCojocaruCojocaru Cosmin CosminAlexCojocaru Data 11 octombrie 2015 17:00:03
Problema Cifre Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#define MAX 1000000
using namespace std;
ifstream f("cifre.in");
ofstream g("cifre.out");
long long int a,b,k,c,i,u,nr,p;
double t,t1,t2;
int nrd(int x)
{
    int nr = 0;
    do
    {
        nr += ((x % 10) == c);
        x /= 10;
    }while (x);

    return nr;
}
int main()
{
   f>>a>>b>>c>>k;
   nr=b-a+1;
   if(nr<MAX)
   {for(i=a;i<=b;i++)
   {   int x=i;
       u=0;
       while( x&& u!=k)
       {
           if(x%10==c) u++;
           x/=10;
       }

       if(u>=k) p++;
   }
   t1=p;
   t2=nr;
   t=t1/t2;
   g<<setprecision(4)<<t;}
   else
    {srand(time(NULL));
     for(i = 0; i < MAX; ++ i)
        if (nrd(rand() % (b - a + 1) + a) >= k)
            ++ p;
            t1=p;

   t=t1/MAX;
            g<<setprecision(4)<<t;
}


}