Pagini recente » Cod sursa (job #324951) | Cod sursa (job #26752) | Cod sursa (job #1830599) | Cod sursa (job #2338847) | Cod sursa (job #368241)
Cod sursa(job #368241)
#include<stdio.h>
long long n,p,a[100000],ind=0,per,lo=0;
void getdiv();
void detper();
int verif(long long x);
long long cautbin();
int main()
{
FILE*f=fopen("frac.in","r");
fscanf(f,"%d%d",&n,&p);
fclose(f);
getdiv();
detper();
while(p>per)
{p-=per;lo+=n;}
FILE*g=fopen("frac.out","w");
fprintf(g,"%d",cautbin());
fclose(g);
return 0;
}
void getdiv()
{
long long x=n,i=2;
for(i;x>1;++i)
if(x%i==0)
{
a[ind]=i;
++ind;
while(x%i==0)x/=i;
}
}
void detper()
{
per=1;
long long i=2;
for(i;i<n;++i)
if(verif(i))++per;
}
int verif(long long x)
{
long long i;
int ok=1;
for(i=0;i<ind&&ok;++i)
if(x%a[i]==0)ok=0;
return ok;
}
long long cautbin()
{ ++lo;
long long cont=0;
for(lo;cont<p;++lo)
if(verif(lo))++cont;
return lo-1;
}