Cod sursa(job #283779)

Utilizator peteanvPetean Vlad peteanv Data 19 martie 2009 19:36:21
Problema Frac Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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;   
}