Pagini recente » Cod sursa (job #1439987) | Cod sursa (job #2158484) | Cod sursa (job #1753201) | Cod sursa (job #2263914) | Cod sursa (job #20713)
Cod sursa(job #20713)
#include <fstream>
#include <set>
using namespace std;
set<int> s;
bool contains(int i, int c, int k)
{
int count = 0;
while(i>0)
{
if(i%10 == c)
++count;
if(count == k)
return true;
i/=10;
set<int>::iterator iter = s.find(i);
if(iter != s.end())
return true;
}
return false;
}
int main(void)
{
ifstream in;
ofstream out;
in.open("cifre.in", ios::in);
out.open("cifre.out", ios::out);
int a,b,c,k;
in >> a >> b >> c >> k;
int count = 0;
for(int i=a;i<=b;++i)
{
if(contains(i, c, k))
{
++count;
s.insert(i);
}
}
float f = (float)count / (b-a+1);
out.precision(4);
out << f;
in.close();
out.close();
return 0;
}