Pagini recente » Cod sursa (job #2726105) | Cod sursa (job #1955984) | Cod sursa (job #2257109) | Cod sursa (job #1814712) | Cod sursa (job #1613744)
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f,*g;
int p,q,i,mx,cexp;
unsigned short exp[899999999];
bool ok;
int main()
{
f=fopen("gfact.in","r");
g=fopen("gfact.out","w");
fscanf(f,"%d%d",&p,&q);
int c=p;
for(i=2;i<=p;i++)
{
while(p%i==0)
{
p/=i;
exp[i]++;
}
exp[i]*=q;
if(exp[i])
mx=i;
}
/* for(i=1;i<=c;i++)
fprintf(g,"%d\n",exp[i]);*/
i=mx;
cexp=1;
if(q>1)
{
while(ok==0)
{
i+=mx;
if(i%mx==0)
{
c=i;
while(c%mx==0)
{
c/=mx;
cexp++;
}
if(cexp>=exp[mx])
{
ok=1;
break;
}
}
}
}
fprintf(g,"%d",i);
fclose(f);
fclose(g);
return 0;
}