Pagini recente » Cod sursa (job #904059) | Cod sursa (job #312546) | Cod sursa (job #2644547) | Cod sursa (job #858818) | Cod sursa (job #2377836)
#include <stdio.h>
#include <stdlib.h>
int main(){
unsigned long long p,q,n,s,mi,d,sn;
FILE *fin,*fout;
fin=fopen("gfact.in","r");
fout=fopen("gfact.out","w");
fscanf(fin,"%lld%lld",&p,&q);
if(q==1){
fprintf(fout,"%lld",p);
}else{
mi=100000000;
d=2;
while(d*d<=p){
if(p%d==0){
n=p;
s=0;
while(s<q){
s=0;
sn=n;
while(n>0){
s+=n/p;
n/=p;
}
n=sn;
n++;
}
if(n-1<mi){
mi=n-1;
}
}
d++;
}
n=p;
s=0;
d=p;
while(s<q){
s=0;
sn=n;
while(n>0){
s+=n/p;
n/=p;
}
n=sn;
n++;
}
if(n-1<mi){
mi=n-1;
}
fprintf(fout,"%lld",mi);
}
fclose(fin);
fclose(fout);
return 0;
}