Pagini recente » Cod sursa (job #2800464) | Cod sursa (job #1731202) | oni_2017_cl10_ziua2_ | Termeni si conditii de utilizare a site-ului infoarena | Cod sursa (job #59745)
Cod sursa(job #59745)
#include<fstream>
#include<math.h>
using namespace std;
int prim(int);
long long a,b,n=1;
float p,q;
int main()
{
ifstream fin("gfact.in");
ofstream fout("gfact.out");
int i,j;
fin>>p>>q;
a=(int)pow(p,q);
if(prim(a)) fout<<a;
else {
for(i=2;i<=a;i++)
{
for(j = 1; j <= i;j++)
n*=j;
if(n%a == 0)
{
fout<<i;
break;
}
else
n=1;
}
}
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;
}