Pagini recente » Cod sursa (job #738761) | Cod sursa (job #692760) | Cod sursa (job #1272828) | Cod sursa (job #128743) | Cod sursa (job #779979)
Cod sursa(job #779979)
#include<fstream>
//#include<time.h>
using namespace std;
ifstream f("cifre.in");
ofstream g("cifre.out");
void citeste_numar(int& x)
{
f>>x;
}
int nr_cifre_C(int x,int c)
{
int cont=0;
while(x!=0)
{
if(x%10==c)
cont++;
x=x/10;
}
return(cont);
}
int parcurgere(int a,int b,int c,int k)
{
int cont=0,i=0;
cont=nr_cifre_C(a,c);
if(cont>=k)
i++;
if(a%10-c>0)
a+=a%10-c;
else
a+=c-a%10;
cont=nr_cifre_C(a,c);
if(cont>=k)
i++;
while(a<=b)
{
if(b-a<10)
{
a++;
if(cont>=k)
i++;
if(a%100<(a-1)%100)
cont=nr_cifre_C(a,c);
continue;
}
a+=10;
if((a/10)%10==c)
cont++;
if(cont==k)
{
if(a%100<(a-10)%100)
cont=nr_cifre_C(a,c);
}
if(cont>k)
i+=10;
}
return(i);
}
int main()
{
int a,b,c,k;
citeste_numar(a);
citeste_numar(b);
citeste_numar(c);
citeste_numar(k);
g<<parcurgere(a,b,c,k)<<"/"<<(b-a+1);
//clock_t end=clock();
//g<<"Duration in ms: "<<(end)/(CLOCKS_PER_SEC/1000);
}