Pagini recente » Cod sursa (job #766555) | Cod sursa (job #2786494) | Cod sursa (job #2089851) | Cod sursa (job #1337026) | Cod sursa (job #3177860)
#include<fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int main() {
int r, d, p = 0, q = 0, s = 0;
f >> r >> d;
if (d == 2 || d == 3 || d == 5)
for (int i = 1; i <= r / 2; ++i) {
for (int j = r - i + 1; j % d == 0; ++p, j /= d);
for (int j = i; j % d == 0; --p, j /= d);
s += (p >= 1);
}
if (d == 4)
for (int i = 1; i <= r / 2; ++i) {
for (int j = r - i + 1; j % 2 == 0; ++p, j /= 2);
for (int j = i; j % 2 == 0; --p, j /= 2);
s += (p >= 2);
}
else if (d == 6)
for (int i = 1; i <= r / 2; ++i) {
for (int j = r - i + 1; j % 2 == 0 || j % 3 == 0;) {
if (j % 2 == 0) {
++p;
j /= 2;
}
if (j % 3 == 0) {
++q;
j /= 3;
}
}
for (int j = i; j % 2 == 0 || j % 3 == 0;) {
if (j % 2 == 0) {
--p;
j /= 2;
}
if (j % 3 == 0) {
--q;
j /= 3;
}
}
s += (p >= 1) && (q >= 1);
}
s *= 2;
if (r % 2 == 0)
--s;
g << s;
return 0;
}