Pagini recente » Cod sursa (job #1126595) | Cod sursa (job #3360109) | Cod sursa (job #3360095) | Cod sursa (job #1126586) | Cod sursa (job #3360083)
#include <fstream>
using namespace std;
ifstream f("zero2.in");
ofstream g("zero2.out");
int legendre(int n, int p)
{
int e = 0;
while(n)
{
n /= p;
e += n;
}
return e;
}
int main()
{
int N, B;
for(int j = 1; j <= 10; j++)
{
f >> N >> B;
long long mini = 0;
int ok = 0;
for(int i = 2; i * i <= B; i++)
{
if(B % i == 0)
{
int putere = 0;
while(B % i == 0)
{
putere++;
B /= i;
}
long long v = 0;
for(int k = 1; k <= N; k++)
v += legendre(k, i);
long long nr = v / putere;
if(ok == 0)
{
ok = 1;
mini = nr;
}
mini = min(mini, nr);
}
}
if(B > 1)
{
long long v = 0;
for(int k = 1; k <= N; k++)
v += legendre(k, B);
if(ok == 0)
{
ok = 1;
mini = v;
}
mini = min(mini, v);
}
g << mini << '\n';
}
return 0;
}