Cod sursa(job #742194)
| Utilizator | Data | 28 aprilie 2012 22:36:59 | |
|---|---|---|---|
| Problema | Multimi2 | Scor | 0 |
| 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");
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>=10000)
{for(;a%10000;++a,p++)
{if(cifre(a)>=k)
++nr;
}
for(x=0;b-a>=10000;a+=10000,p+=10000)
{x=cifre(a/10000);
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;
}
