Pagini recente » Cod sursa (job #2096746) | Cod sursa (job #2849273) | Cod sursa (job #866914) | Cod sursa (job #1889747) | Cod sursa (job #3315540)
#include <stdio.h>
#include <stdlib.h>
char ciur[33001];
int p[3700],ea[3700],eb[3700];
void desc(int e[],int n){
int i;
i=0;
while(p[i]*p[i]<=n){
while(n%p[i]==0){
n/=p[i];
e[i]++;
}
i++;
}
if(n>0){
i=0;
while(p[i]<n)
i++;
e[i]++;
}
}
int main()
{
FILE *fin ,*fout;
int i,j,k=0,a,q,b,f;
for(i=2;i<=33000;i++){
if(ciur[i]==0){
p[k++]=i;
for(j=i+i;j<=33000;j+=i){
ciur[j]=1;
}
}
}
printf("%d" ,p[3]);
fin=fopen("gfact.in", "r");
fout=fopen("gfact.out", "w");
fscanf(fin, "%d%d" ,&a,&q);
desc(ea ,a);
for(i=0;i<3700;i++)
ea[i]*=q;
b=1;
f=0;
while(f==0){
b++;
desc(eb,b);
f=1;
for(i=0;i<3700;i++){
if(eb[i]<ea[i])
f=0;
}
}
fprintf(fout, "%d" ,b);
return 0;
}