Cod sursa(job #2207731)
Utilizator | Data | 26 mai 2018 16:03:58 | |
---|---|---|---|
Problema | Cifre | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.15 kb |
#include<fstream>
using namespace std;
long long x,p,n,a,b,k,c,nr;
int cifre(int n)
{
int nr2=0;
while(n)
{
if(n%10==c)
{
nr2++;
}
n/=10;
}
return nr2;
}
int main()
{
ifstream fin("cifre.in");
ofstream fout("cifre.out");
fin>>a>>b>>c>>k;
if(b-a>=10000)
{
while(a%10000)
{
if(cifre(a)>=k)
nr++;
a++;
p++;
}
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++;
}
}
}
while(a<=b)
{
if(cifre(a)>=k)
{
nr++;
}
a++;
p++;
}
fout<<(double)nr/p;
return 0;
}