Pagini recente » Cod sursa (job #764487) | Cod sursa (job #1332847) | Cod sursa (job #2259014) | Cod sursa (job #50939) | Cod sursa (job #3139916)
#include <fstream>
#include <map>
using namespace std;
ifstream f("zero2.in");
ofstream g("zero2.out");
map<long long, long long> m, m2;
void desc(int b) {
for(int d = 2; d <= b; d++)
while (b % d == 0) {
m[d]++; b /= d;
}
}
int main() {
int n, b;
while(f >> n >> b) {
m.clear();
m2.clear();
desc(b);
for (int i = 2; i <= n; i++) {
int j = i;
for (auto el: m)
while (j % el.first == 0) {
m2[el.first] += n - i + 1;
j /= el.first;
}
}
long long mi = 9223372036854775807;
for (auto el: m)
mi = min(mi, m2[el.first] / el.second);
g << mi << '\n';
}
f.close();
g.close();
return 0;
}