Pagini recente » Cod sursa (job #3188221) | Cod sursa (job #2213770) | Cod sursa (job #87904) | Cod sursa (job #2941939) | Cod sursa (job #2646977)
#include <bits/stdc++.h>
using namespace std;
int n,d,fr[6],ans,r[] = {2,3,5}, r3[] = {8, 27, 125};
static inline void add(int x, int v){
while (x % 2 == 0){
x /= 2;
fr[2] += v;
}
while (x % 3 == 0){
x /= 3;
fr[3] += v;
}
while (x % 5 == 0){
x /= 5;
fr[5] += v;
}
}
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
cin >> n >> d;
for (int i=1;i<(n+1)/2;i++){
add(n-i+1, 1);
add(i, -1);
if (d == 6 && fr[2] && fr[3]) ans += 2;
else if (d == 4 && fr[2] > 1) ans += 2;
else if (fr[d]) ans += 2;
}
if (n%2==0){
add(n-n/2+1, 1);
add(n/2, -1);
if (d == 6 && fr[2] && fr[3]) ans++;
else if (d == 4 && fr[2] > 1) ans++;
else if (fr[d]) ans++;
}
cout << ans << '\n';
return 0;
}