Cod sursa(job #786300)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 10 septembrie 2012 22:17:46
Problema Cifre Scor 100
Compilator cpp Status done
Runda pregatire-monthly8-ziua.2 Marime 0.61 kb
#include<fstream>
#define NR 10000
using namespace std;
ifstream f("cifre.in");
ofstream g("cifre.out");
long long x,p,n,a,b,k,c;
long long nr;

int cifre(int n)
{
	int nr=0;
	for(;n;n/=10)
		if(n%10==c)
			++nr;
	return nr;
}

int main()
{
	f>>a>>b>>c>>k;
if(b-a>=NR)
{
	for(;a%NR;++a,p++)
	{
		if(cifre(a)>=k)
		++nr;
	}
for(x=0;b-a>=NR;a+=NR,p+=NR)
	{
		x=cifre(a/NR);
		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;
}
}




for(;a<=b;++a,++p)
	if(cifre(a)>=k)
		++nr;							
g<<(double)nr/p;
return 0;
}