Pagini recente » Cod sursa (job #1664628) | Cod sursa (job #604633) | Cod sursa (job #1507427) | Cod sursa (job #1639676) | Cod sursa (job #3154705)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
char v1[5000005] = {0};
char v2[5000005] = {0};
int v1f[5000005] = {0};
int v2f[5000005] = {0};
int main(){
int contor = 0;
int rand, d;
fin >> rand >> d;
for (int i = 1; i <= 5000000; i++){
if (i % d == 0) {
if (d == 6) {
v1[i] = v1[i / 2] + 1;
v2[i] = v2[i / 3] + 1;
} else {
v1[i] = v1[i / d] + 1;
}
}
v1f[i] = v1f[i - 1] + v1[i];
v2f[i] = v2f[i - 1] + v2[i];
}
for (int i = 0; i <= rand; i++){
if (d != 4 && d != 6) {
if (v1f[rand] >= v1f[i] + v1f[rand - i] + 1)
contor++;
} else if (d == 4){
if (v1f[rand] >= v1f[i] + v1f[rand - i] + 2)
contor++;
} else if (d == 6){
if ((v2f[rand] >= v2f[i] + v2f[rand - i] + 1) && v1f[rand] >= v1f[i] + v1f[rand - i] + 1)
contor++;
}
}
fout << contor;
return 0;
}