Cod sursa(job #742127)

Utilizator misinoonisim necula misino Data 28 aprilie 2012 17:33:08
Problema Cifre Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream>
using namespace std;
ifstream f("cifre.in");
ofstream g("cifre.out");
int x,n,a,b,k,c;
float nr,p;
int cifre(int n)
{int nr=0;
while(n)
{if(n%10==c)
	++nr;
n/=10;
}
return nr;
}
int main()
{f>>a>>b>>c>>k;
if(b-a>10000)
{while(a%10000)
{if(cifre(a)>=k)
	++nr;
++a;
++p;
}
while(b-a>10000)
{x=cifre(a);
if(x>=k)
	nr+=6561;
if(x>=k-1)
	nr+=2916;
if(x>=k-2)
	nr+=487;
if(x>=k-3)
	nr+=35;
if(x>=k-4)
	++nr;
a+=10000;
p+=10000;
}
}
while(a<=b)
{if(cifre(a)>=k)
	++nr;
++a;
++p;
}
g<<nr/(double)p<<'\n';
return 0;
}