Cod sursa(job #29569)
Utilizator | Zene Andrei Cristian oznmonkey | Data | 9 martie 2007 16:14:36 |
---|---|---|---|
Problema | Frac | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<fstream.h>
#include<math.h>
int main()
{ unsigned long long n,p,x;
int d=2,a[100],k=0,ok=1;
ifstream f("frac.in");
ofstream g("frac.out");
f>>n>>p;
while(d<=sqrt(n)&&ok)
if(n%d==0) ok=0;
else d++;
if(ok) g<<p/n+p%n;
else
{d=2;k=-1;
while(d<=n/2)
{while(n/d&&n)
{a[++k]=d;n/=d;}
d++;}
if(k==0) g<<p/a[k]+p%a[k];
else g<<"0";
}
f.close();
g.close();
return 0;
}