Pagini recente » Cod sursa (job #781675) | Cod sursa (job #1103356) | Cod sursa (job #2064059) | Cod sursa (job #1234199) | Cod sursa (job #3331891)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
const int NMAX = 26;
const int MOD = 9901;
int n, d, answer;
ll cnt_fact(int n, int v) {
ll pv = v, cntv = 0;
while(pv <= n) {
cntv += n / pv;
pv *= v;
}
return cntv;
}
ll cnt_comb(int n, int k, int v) {
return cnt_fact(n, v) - cnt_fact(k, v) - cnt_fact(n - k, v);
}
int main() {
fin >> n >> d;
for(int j = 0; j <= n; j++) {
if(d == 2) {
answer += (cnt_comb(n, j, 2) >= 1);
}
else if(d == 3) {
answer += (cnt_comb(n, j, 3) >= 1);
}
else if(d == 4) {
answer += (cnt_comb(n, j, 2) >= 2);
}
else if(d == 5) {
answer += (cnt_comb(n, j, 5) >= 1);
}
else {
answer += (cnt_comb(n, j, 2) >= 1 && cnt_comb(n, j, 3) >= 1);
}
}
fout << answer << '\n';
return 0;
}