Pagini recente » Cod sursa (job #1816945) | Cod sursa (job #2493406) | Cod sursa (job #978521) | Cod sursa (job #2283792) | Cod sursa (job #2124121)
# include <fstream>
# define INF 1000000000
# define DIM 34000
using namespace std;
ifstream fin("zero2.in");
ofstream fout("zero2.out");
int f[DIM],d[DIM],n,B,a,k,i,j;
long long minim,b;
int putere(int &val,int x){
int nr=0;
while(val%x==0){
nr++;
val/=x;
}
return nr;
}
long long factori(int n,long long x){
if(x>n)
return 0;
long long nr=1LL*((n/x-1)*(n/x)/2)*x+(n/x)*(n%x+1);
return nr+factori(n,x*d[j]);
}
int main () {
for(i=2;i<=DIM-50;i++)
if(f[i]==0){
d[++k]=i;
for(j=2*i;j<=DIM-50;j+=i)
f[j]=1;
}
for(i=1;i<=10;i++){
fin>>n>>B;
minim=1LL*INF*INF;
for(j=1;j<=k;j++){
a=putere(B,d[j]);
b=factori(n,d[j]);
if(a==0)
continue;
minim=min(minim,b/a);
}
if(B!=1){
a=1;
b=factori(n,B);
minim=min(minim,b);
}
fout<<minim<<"\n";
}
return 0;
}