Pagini recente » Cod sursa (job #2029089) | Cod sursa (job #891892) | Cod sursa (job #1247121) | Cod sursa (job #2184750) | Cod sursa (job #2193183)
#include <stdio.h>
#include <vector>
using namespace std;
int row, divider;
vector<int> computedHalfRow(int index) {
vector<int> line;
line.push_back(1);
for ( int k = 0; k < index / 2; k++) {
line.push_back(line[k] * (index - k) / (k + 1));
}
return line;
}
int main() {
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d %d", &row, ÷r);
if (row == 0 || row == 1) {
printf("0\n");
return 0;
}
vector<int> halfRow = computedHalfRow(row);
int counter = 0;
int limit = halfRow.size();
if (row % 2 == 0)
{
limit -= 1;
if (halfRow[halfRow.size() - 1] % divider == 0)
{
counter++;
}
}
for (int i = 0; i < limit; i++) {
if (halfRow[i] % divider == 0) {
counter += 2;
}
}
printf("%d\n", counter);
return 0;
}