Cod sursa(job #779979)

Utilizator alex_HarryBabalau Alexandru alex_Harry Data 19 august 2012 17:04:55
Problema Cifre Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#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);
}