Pagini recente » Cod sursa (job #3153601) | Cod sursa (job #2537296) | Cod sursa (job #1847652) | Cod sursa (job #730562) | Cod sursa (job #2100227)
#include <fstream>
using namespace std;
ifstream f("zero2.in");
ofstream g("zero2.out");
int t,n,b,nr,k,d;
long long p,Min;
int main()
{
t=10;
while(t){
f>>n>>b;
Min=LONG_LONG_MAX;
for(d=2;d*d<=b;d++)
if(b%d==0){
nr=0;
while(b%d==0){
nr++;
b/=d;
}
k=d;
p=0;
while(k<=n){
p+=(n/k-1)*(n/k)/2*k+(n%k+1)*(n/k);
k*=d;
}
Min=min(Min,p/nr);
}
if(b!=1){
k=b;
p=0;
while(k<=n){
p+=(n/k-1)*(n/k)/2*k+(n%k+1)*(n/k);
k*=b;
}
Min=min(Min,p);
}
g<<Min<<'\n';
t--;
}
return 0;
}