Pagini recente » Cod sursa (job #2286719) | Cod sursa (job #2331899) | Cod sursa (job #569147) | Cod sursa (job #2406181) | Cod sursa (job #1119080)
#include <fstream>
using namespace std;
ifstream fin ("zero2.in");
ofstream fout ("zero2.out");
int d[100010],p[100010],pc[100010],v[100010],m,x,Div,i,j,n,b,nc,y;
long long minim, sol;
int main () {
x=10;
while (x--) {
fin>>n>>b;
for (i=1;i<=Div;i++)
d[i]=p[i]=pc[i]=v[i]=0;
Div=0;
for (i=2;i*i<=b;i++) {
if (b%i==0) {
d[++Div]=i;
while (b%i==0){
p[Div]++;
b/=i;
}
}
}
if (b!=1){
d[++Div]=b;
p[Div]=1;
}
for (i=2;i<=n;i++) {
for (j=1;j<=Div && d[j]<=i;j++) {
m=0;
y=i;
while (y%d[j]==0) {
y/=d[j];
m++;
}
pc[j]+=v[j]+m;
v[j]+=m;
}
}
minim=(1LL<<62);
for (i=1;i<=Div;i++) {
sol=pc[i]/p[i];
if (sol<minim)
minim=sol;
}
fout<<minim<<"\n";
}
return 0;
}