Cod sursa(job #462524)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 11 iunie 2010 11:45:15
Problema Cifre Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream.h>
#include<stdio.h>
long a,b,c,k,fav,pos,n;
double posib,favor,prob;
long cif(long aa)
{long bb=aa,ret=0;
while(bb)
  {if(bb%10==c)
    ret++;
   bb/=10;}
  return ret;}
int main()
{ifstream q("cifre.in");
freopen("cifre.out","w",stdout);
q>>a>>b>>c>>k;
if(a+9999<b)
 {while(a%10000)
     {n=cif(a);
     if(n>=k)
      fav++;
     a++;
     pos++;}
  while(a+9999<b)
     {n=cif(a/10000);
     if(n+4>=k)
      fav++;
     if(n+3>=k)
      fav+=36;
     if(n+2>=k)
      fav+=486;
     if(n+1>=k)
      fav+=2916;
     if(n>=k)
      fav+=6561;
     a+=10000;
     pos+=10000;}}
while(a<=b)
  {n=cif(a);
  if(n>=k)
   fav++;
  a++;
  pos++;}
posib=(double)pos;
favor=(double)fav;
prob=favor/posib;
printf("%.4lf\n",prob);
return 0;}