Pagini recente » Cod sursa (job #1314466) | Cod sursa (job #734552) | Cod sursa (job #364814) | Cod sursa (job #2203940) | Cod sursa (job #2483025)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
const int N = 5e6 + 7;
int vp[3][N];
int main()
{
int n, d;
fin >> n >> d;
for (int i = 0; i <= n; ++i) {
int _i(i);
if (d % 2 == 0) {
while (_i) {
_i /= 2;
vp[0][i] += _i;
}
_i = i;
}
if (d % 3 == 0) {
while (_i) {
_i /= 3;
vp[1][i] += _i;
}
_i = i;
}
if (d % 5 == 0) {
while (_i) {
_i /= 5;
vp[2][i] += _i;
}
}
}
int ans(0);
for (int i = 0; i <= n; ++i) {
if (d == 2)
ans += (vp[0][n] > vp[0][i] + vp[0][n - i]);
else if (d == 3)
ans += (vp[1][n] > vp[1][i] + vp[1][n - i]);
else if (d == 4)
ans += (vp[0][n] > 1 + vp[0][i] + vp[0][n - i]);
else if (d == 5)
ans += (vp[2][n] > vp[2][i] + vp[2][n - i]);
else if (d == 6)
ans += ((vp[0][n] > vp[0][i] + vp[0][n - i]) & (vp[1][n] > vp[1][i] + vp[1][n - i]));
}
fout << ans;
return 0;
}