Cod sursa(job #1563287)
| Utilizator | Data | 5 ianuarie 2016 20:44:34 | |
|---|---|---|---|
| Problema | Cifre | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int Sub(int nr, int c)
{ int k=0;
do{
if (c==nr%10) k++;
nr/=10;}while(nr);
return k;
}
int main()
{long long int A,B;
int C,K;
int i, save, nr, imp=0, cif,de;
ifstream f("cifre.in");
ofstream g("cifre.out");
f>>A>>B>>C>>K;
int l=1; save=K;
do{l*=10;
save--;
}while(save);
l=l/10;
if (l>A) A=l;
for (i=A;i<=B;i++) { nr=Sub(i,C);
if (nr>=K) imp++;}
de=B-A+1;
g<<fixed << setprecision(4) <<(float)imp/de;
return 0;
}
