Pagini recente » Cod sursa (job #1108153) | Cod sursa (job #446511) | Cod sursa (job #605368) | Cod sursa (job #3122749) | Cod sursa (job #2911169)
#include <bits/stdc++.h>
using namespace std;
int prec(int i, int prim){
int p = prim;
int s = 0;
while(p <= i){
s += i/p;
p *= prim;
}
return s;
}
int D[5000001],T[5000001], C[5000001];
int main(void){
ofstream cout("pascal.out");
ifstream cin("pascal.in");
int n,d;
cin >> n >> d;
for(int i = 1;i<=n;i++){
D[i] = prec(i,2);
T[i] = prec(i,3);
C[i] = prec(i,5);
}
int ans = 0,aj, aj1;
for(int i = 1;i<=n;i++){
if(d == 2){
aj = D[n] - D[i] - D[n-i];
if(aj >= 1)++ans;
}
if(d == 3){
aj = T[n] - T[i] - T[n-i];
if(aj >= 1)++ans;
}
if(d == 5){
aj = C[n] - C[i] - C[n-i];
if(aj >= 1)++ans;
}
if(d == 4){
aj = D[n] - D[i] - D[n-i];
if(aj >= 2)++ans;
}
if(d == 6){
aj = D[n] - D[i] - D[n-i];
aj1 = T[n] - T[i] - T[n-i];
if(aj >= 1 && aj1 >= 1)++ans;
}
}
cout << ans;
}