Pagini recente » Cod sursa (job #2363422) | Cod sursa (job #3295472) | Cod sursa (job #114151) | Cod sursa (job #1774227) | Cod sursa (job #2914370)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "pascal.in" );
ofstream fout( "pascal.out" );
const int DIM = 5e5 + 5;
int v2[DIM], v3[DIM], v5[DIM];
int main() {
int n, p;
fin >> n >> p;
for ( int i = 2; i <= n; ++i ) {
v2[i] = (i % 2 ? 0 : v2[i / 2] + 1);
v3[i] = (i % 3 ? 0 : v3[i / 3] + 1);
v5[i] = (i % 5 ? 0 : v5[i / 5] + 1);
}
int res = 0, q2 = 0, q3 = 0, q5 = 0;
for ( int j = 1; j < n; ++j ) {
q2 += v2[n - j + 1] - v2[j];
q3 += v3[n - j + 1] - v3[j];
q5 += v5[n - j + 1] - v5[j];
res += ( (p == 2 && q2) ||
(p == 3 && q3) ||
(p == 4 && q2 > 1) ||
(p == 5 && q5) ||
(p == 6 && q2 && q3) );
}
fout << res;
fin.close();
fout.close();
return 0;
}