Pagini recente » Cod sursa (job #1240000) | Istoria paginii runda/luca_oji/clasament | Cod sursa (job #2768606) | Cod sursa (job #2918509) | Cod sursa (job #789207)
Cod sursa(job #789207)
#include <fstream>
#include <cmath>
#include <ctime>
#include <iomanip>
using namespace std;
#define maxRand 1200000
int A, B, C, K;
int CifreC(int N)
{
int cnt = 0;
while(N)
{
if(N % 10 == C) cnt ++;
N /= 10;
}
return (cnt >= K);
}
int main()
{
ifstream in("cifre.in");
ofstream out("cifre.out");
srand(time(NULL));
int i;
in >> A >> B >> C >> K;
if(B - A <= maxRand)
{
int ans = 0;
for(i = A; i <= B; i++)
if(CifreC(i))
ans ++;
out << fixed << setprecision(4) << (1.0 * ans / (B - A + 1));
}else
{
int ans = 0;
for(i = 0; i < maxRand; i++)
{
int val = (rand() % (B - A + 1)) + A;
if(CifreC(val))
ans ++;
}
out << fixed << setprecision(4) << (1.0 * ans / maxRand);
}
return 0;
}