Cod sursa(job #742183)

Utilizator misinoonisim necula misino Data 28 aprilie 2012 21:08:47
Problema Cifre Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
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;
while(n)
{if(n%10==c)
	++nr;
n/=10;
}
return nr;
}
int main()
{f>>a>>b>>c>>k;
if(b-a>10000)
{for(;a%10000;++a,p++)
{if(cifre(a)>=k)
	++nr;
}
x=0;
for(x=0;b-a>=10000;a+=10000,p+=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;
}
}
while(a<=b)
{if(cifre(a)>=k)
	++nr;
++a;
++p;
}
g<<(double)nr/p;
return 0;
}