Pagini recente » Cod sursa (job #475196) | Cod sursa (job #1938001) | Cod sursa (job #1524120) | Cod sursa (job #40498) | Cod sursa (job #3155832)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
const int MAXR = 5e6;
int primeNums[3] = {2, 3, 5}, ans[3][MAXR + 5];
int main() {
int r, d, num, copR, cnt, i, rasp;
fin >> r >> d;
for (num = 0; num < 3; num++) {
for (i = primeNums[num]; i <= r; i += primeNums[num]) {
ans[num][i] = ans[num][i / primeNums[num]] + 1;
}
for (i = primeNums[num]; i <= r; i++) { // Insumam
ans[num][i] += ans[num][i - 1];
}
}
rasp = 0;
for (i = 0; i <= r; i++) {
if(d == 2){
if(ans[0][r] - ans[0][r - i] - ans[0][i] >= 1) {
++rasp;
}
} else if(d == 3){
if(ans[1][r] - ans[1][r - i] - ans[1][i] >= 1) {
++rasp;
}
} else if(d == 4){
if(ans[0][r] - ans[0][r - i] - ans[0][i] >= 2) {
++rasp;
}
} else if(d == 5){
if(ans[2][r] - ans[2][r - i] - ans[2][i] >= 1) {
++rasp;
}
} else if(d == 6){
if( (ans[0][r] - ans[0][r - i] - ans[0][i] >= 1) && (ans[1][r] - ans[1][r - i] - ans[1][i] >= 1) ) {
++rasp;
}
}
}
fout << rasp;
return 0;
}