Pagini recente » Cod sursa (job #2305540) | Cod sursa (job #721245) | Cod sursa (job #2796779) | Cod sursa (job #284891) | Cod sursa (job #764415)
Cod sursa(job #764415)
#include <iostream>
#include <fstream>
#include <inttypes.h>
using namespace std;
int main()
{
long long n;
long long p;
ifstream myfile("frac.in");
myfile >> n >> p;
myfile.close();
long long h = 2;
long nr = 0;
int diviz[100];
long long copy = n;
long long prod = n;
while (n != 1)
{
bool ok = true;
while (n % h==0)
{
ok = false;
n = n/h;
}
if (!ok) { nr++; diviz[nr-1]=h;prod = prod * (h-1) / h;}
h++;
}
long long cat = p / prod;
long long rest = p % prod;
int i;
for (i=1;i<copy;i++)
{
bool ok = true;
for (int j=0;j<nr;j++)
{
if (i% diviz[j] ==0) {ok = false;break;}
}
if (ok) rest--;
if (rest == 0) break;
}
ofstream myfile2("frac.out");
myfile2 << (i+cat*copy);
myfile2.close();
return 0;
}