Pagini recente » Cod sursa (job #629328) | Cod sursa (job #2904364) | Cod sursa (job #1276725) | Cod sursa (job #796654) | Cod sursa (job #2483018)
#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] > 0);
if (d == 3)
ans += (vp[1][n] - vp[1][i] - vp[1][n - i] > 0);
if (d == 4)
ans += (vp[0][n] - vp[0][i] - vp[0][n - i] > 1);
if (d == 5)
ans += (vp[2][n] - vp[2][i] - vp[2][n - i] > 0);
if (d == 6)
ans += ((vp[0][n] - vp[0][i] - vp[0][n - i] > 0) & (vp[1][n] - vp[1][i] - vp[1][n - i] > 0));
}
fout << ans;
return 0;
}