Pagini recente » Cod sursa (job #1215881) | Cod sursa (job #3221325) | Cod sursa (job #2875760) | Cod sursa (job #2786413)
#include <bits/stdc++.h>
using namespace std;
inline void Open(const string Name) {
#ifndef ONLINE_JUDGE
(void)!freopen((Name + ".in").c_str(), "r", stdin);
(void)!freopen((Name + ".out").c_str(), "w", stdout);
#endif
}
int N, d, ans, ans1, ans2;
int nr_div_D(int x, int d) {
int cnt = 0;
while(x % d == 0)
x /= d, cnt++;
return cnt;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
Open("pascal");
cin >> N >> d;
if(d == 2 || d == 3 || d == 5) {
for(int i = 1;i <= N;i++) {
ans1 += nr_div_D(N - i + 1, d);
ans1 -= nr_div_D(i, d);
ans += (ans1 > 0);
}
}
if(d == 4) {
for(int i = 1;i <= N;i++) {
ans1 += nr_div_D(N - i + 1, 2);
ans1 -= nr_div_D(i, 2);
ans += (ans1 > 1);
}
}
if(d == 6) {
for(int i = 1;i <= N;i++) {
ans1 += nr_div_D(N - i + 1, 2);
ans1 -= nr_div_D(i, 2);
ans2 += nr_div_D(N - i + 1, 3);
ans2 -= nr_div_D(i, 3);
ans += (ans1 > 0 && ans2 > 0);
}
}
cout << ans;
return 0;
}