Pagini recente » Cod sursa (job #1048025) | Cod sursa (job #834256) | Cod sursa (job #2406654) | Cod sursa (job #3002489) | Cod sursa (job #564174)
Cod sursa(job #564174)
#include <iostream>
#include <fstream>
using namespace std;
fstream fin ("pascal.in", ios::in);
fstream fout ("pascal.out", ios::out);
typedef long long int64;
int64 res = 0;
int ndiv[10];
void doNum (int nr, int a)
{
int div[] = {2, 3, 5};
for (int i = 0; i < 3; ++i) {
while (nr % div[i] == 0) {
ndiv[div[i]] += a;
nr /= div[i];
}
}
}
int main()
{
int r, d;
fin >> r >> d;
for (int i = 1; i <= r / 2; ++i) {
doNum (r - i + 1, 1);
doNum (i, -1);
if ((d == 2 && ndiv[2] > 0) ||
(d == 3 && ndiv[3] > 0) ||
(d == 4 && ndiv[2] > 1) ||
(d == 5 && ndiv[5] > 0) ||
(d == 6 && ndiv[2] > 0 && ndiv[3])) {
res+=2;
}
if (!(r & 1) && (i == (r >> 1))) {
res--;
}
}
fout << res << endl;
return 0;
}