Cod sursa(job #115058)

Utilizator alle_forever13Alexandra Retegan alle_forever13 Data 16 decembrie 2007 10:33:43
Problema Multiplu Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 1 kb
#include<stdio.h>
#include<time.h>

#define input "multiplu.in"
#define output "multiplu.out"

#define dim 10

int verifica(long long unsigned nr);
long long unsigned trans(long long unsigned nr);
void tipar();

long long unsigned a, b, p;

FILE *in, *out;

int main()
{
	clock_t start, end;
	start = clock();

	in = fopen (input, "r");
	out = fopen (output, "w");

	fscanf(in, "%lld%lld", &a, &b);

	long long unsigned i=1;

	while(1!=2)
	{
		if(verifica(i))
		{
			tipar();
			break;
		}
		i++;

	}

	end = clock();

	fprintf(out, "\n%f\n", (end-start)/CLK_TCK);

	return 0;

}

int verifica(long long unsigned nr)
{
	p = trans(nr);

	if(p%a==0)

		if(p%b==0)

			return 1;

	return 0;

}

long long unsigned trans(long long unsigned nr)
{
	long long unsigned m = 0, a[dim], k=0, i;

	while(nr!=0)
	{
		a[++k] = nr%2;
		nr/=2;
	}

	for(i=k; i; i--)

		m= m*10 + a[i];

	return m;

}

void tipar()
{
	fprintf(out, "%lld", p);

}