Pagini recente » Cod sursa (job #2854888) | Cod sursa (job #2580776) | Cod sursa (job #3178726) | Cod sursa (job #2429889) | Cod sursa (job #2910742)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int r, d, d2[5000005], d3[5000005], d5[5000005], ans;
int main() {
fin >> r >> d;
fin.close();
for(int i = 2; i <= r; i += 2) {
d2[i] = d2[i / 2] + 1;
}
for(int i = 3; i <= r; i += 3) {
d3[i] = d3[i / 3] + 1;
}
for(int i = 5; i <= r; i += 5) {
d5[i] = d5[i / 5] + 1;
}
for(int i = 2; i <= r; i++) {
d2[i] += d2[i - 1];
d3[i] += d3[i - 1];
d5[i] += d5[i - 1];
}
for(int i = 0; i <= r; i++) {
int nr2 = d2[r] - d2[r - i] - d2[i];
int nr3 = d3[r] - d3[r - i] - d3[i];
int nr5 = d5[r] - d5[r - i] - d5[i];
if(d == 2 && nr2 > 0) {
ans++;
} else if(d == 3 && nr3 > 0) {
ans++;
} else if(d == 4 && nr2 >= 2) {
ans++;
} else if(d == 5 && nr5 > 0) {
ans++;
} else if(d == 6 && nr2 > 0 && nr3 > 0) {
ans++;
}
}
fout << ans;
return 0;
}