Pagini recente » Cod sursa (job #2273337) | Cod sursa (job #1244674) | Cod sursa (job #196112) | Cod sursa (job #1919644) | Cod sursa (job #3138014)
#include<fstream>
using namespace std;
ifstream F("gfact.in");
ofstream G("gfact.out");
int a,b,i,k,c[15],d[15];
long long m,s,q,j,t,n,r;
int main()
{
for(F>>a>>b,m=1LL*a*b,i=2;i*i<=a;j?c[k]=i,d[k++]=j*b:0,++i)
for(j=0;a%i==0;a/=i,++j);
if(a>1)
c[k]=a,d[k++]=b;
for(s=1;s<=m;s<<=1);
for(i=0;i<k;q=max(q,j),++i)
for(j=s,t=s;t;t>>=1)
if(j-t>=0) {
for(n=j-t,r=0;n;n/=c[i],r+=n);
if(r>=d[i])
j-=t;
}
return G<<q,0;
}