Pagini recente » Cod sursa (job #1985132) | Cod sursa (job #89275) | Cod sursa (job #3152065) | Cod sursa (job #34998) | Cod sursa (job #59700)
Cod sursa(job #59700)
#include<fstream.h>
#include<math.h>
int p,q,a,i,b[100],e,max;
int prim(int);
int main()
{ ifstream fin("gfact.in");
ofstream fout("gfact.out");
fin>>p>>q;
a=(int)pow(p,q);
if(prim(a)) fout<<a;
else {
for(i=1;i<=a/2;i++)
if(a%i==0) if(prim(i)) b[++e]=i;
max=0;
for(i=1;i<=e;i++)
if(max<b[i]) max=b[i];
fout<<max;
}
fin.close();
fout.close();
return 0;
}
int prim(int n)
{ if(n==1) return 0;
if(n==2||n==3) return 1;
if(n%2==0) return 0;
for(int k=3;k*k<n;k+=2)
if(n%k==0) return 0;
return 1;
}