Pagini recente » Cod sursa (job #2870043) | Cod sursa (job #3245943) | Cod sursa (job #3040705) | Cod sursa (job #225766) | Cod sursa (job #283779)
Cod sursa(job #283779)
#include<fstream.h>
#include<math.h>
#include<string.h>
ifstream f("frac.in");
ofstream g("frac.out");
long div(long n)
{long i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) return i;
return n;
}
long div2(long n)
{long i;
for(i=div(n)+1;i<=n/2;i++)
if(n%i==0) return i;
return n;
}
int main()
{char q[50];
int i;
long n,d,d2;
long double p=0;
f>>n>>q;
for(i=0;i<strlen(q);i++)
p=p*10+(q[i]-'0');
f.close();
if(p==1) g<<1;
d=div(n);
d2=div2(n);
if(d==n) if(p>=n)g<<p+(p-d)+1;
else g<<p;
else if(d2%d==0)g<<p+(p-d)+1;
else if((q[strlen(q)-1]-'0')%2==0) g<<p+(p+1-d)+(p+1-d2)+2;
else g<<p+(p+1-d)+(p+1-d2)+1;
g.close();
f.close();
return 0;
}