Cod sursa(job #306908)
Utilizator | Petean Vlad peteanv | Data | 22 aprilie 2009 10:42:55 |
---|---|---|---|
Problema | Frac | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 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()
{long p,n,d1,d2,i;
f>>n>>p;
d1=div(n);
d2=div2(n);
for(i=1;i<=p;i++)
if(i%d1==0||i%d2==0)p++;
g<<p;
f.close();
g.close();
return 0;
}