Cod sursa(job #264247)

Utilizator moonbeamElma Moonbeam moonbeam Data 21 februarie 2009 20:29:22
Problema Frac Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#define N 10000
long long v[N];
long long num,n,nr;
inline void descompun (int x)
{
	for (long long i=2; i*i<=x; ++i)
	{
		bool ok=false;
		while (x%i==0)
		{
			ok=true;
			x/=i;
		}
		if(ok)
			v[num++]=i;
	}
	if (x>1)
		v[num++]=x;
}
bool verific(long long x)
{
	for (long long i=0; i<num; ++i)
		if (x%v[i]==0)
			return false;
	return true;
}
void citire()
{
	freopen("frac.in","r",stdin);
	freopen("frac.out","w",stdout);
	scanf("%lld%lld",&n,&nr);
	descompun(n);
	long long i=1;
	--nr;
	while (nr)
	{
		++i;
		if (verific(i))
			--nr;
	}
	printf("%lld",i);
}
int main()
{
	citire();
	return 0;
}