Cod sursa(job #474373)

Utilizator pirvupirvu tudor pirvu Data 3 august 2010 15:24:50
Problema Frac Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>

long long n,k,i,p;

long long nr,nr2,rest;

long long euclid ( long long a, long long b)
{
	if (!b) return a;
	return euclid( b , a%b); 	
}


int main()
{
	freopen("frac.in","r",stdin);
	freopen("frac.out","w",stdout);
	
	scanf("%lld%lld", &n , &k);
	
	nr++;
	
	for (i=2;i<=n;i++)
	{
		if ( euclid ( i , n) ==1 )
		nr++;
	}
	
	p= n * ( k/nr) ;
	
	
	nr2=1;
	
	rest=k%nr;
	
	if (rest==1)
	{
		printf("%lld" , p + 1);
		return 0;
	}
	
	for (i=2;i<=n;i++)
	{
		if ( euclid ( i , n) ==1 )
		{
			nr2++;
			if (nr2==rest) printf("%lld" , p + i);
			return 0;
		}
	}
	
	return 0;
}