Pagini recente » Cod sursa (job #2402035) | Cod sursa (job #2050921) | Cod sursa (job #1966724) | Cod sursa (job #1492256) | Cod sursa (job #133877)
Cod sursa(job #133877)
#include <fstream>
using namespace std;
int main()
{
unsigned long n,v[10000],indice,fact,i,p,numarator,fractii;
ifstream f("frac.in");
f>>n>>p;
f.close();
fact=2;indice=0;
while(n>1)
{ if (n%fact==0)
{v[++indice]=fact;
while(n%fact==0)
n=n/fact;}
fact++;
}
int ok;
numarator=1;fractii=1;
while (numarator<n)
{
numarator++;
ok=1;
for(i=1;i<=indice;i++)
if (numarator%v[i]==0){ok=0; break;}
if (ok) fractii++;
}
unsigned long cat=p/fractii,rest=p%fractii;
numarator=1;fractii=1;
while (fractii<rest)
{
numarator++;
ok=1;
for(i=1;i<=indice;i++)
if (numarator%v[i]==0){ok=0; break;}
if (ok) fractii++;
}
ofstream g("frac.out");
g<<cat*n+numarator;
g.close();
//system("pause");
return 0;
}