Pagini recente » Cod sursa (job #301049) | Cod sursa (job #2425260) | Cod sursa (job #2742628) | Cod sursa (job #2686426) | Cod sursa (job #930133)
Cod sursa(job #930133)
#include <fstream>
using namespace std;
int f2[5000001], f3[5000001], f5[5000001];
int howMany(int n, int d)
{
int i;
for (i = 0; i <= n; i++)
{
f2[i] = i/2 + f2[i/2];
f3[i] = i/3 + f3[i/3];
f5[i] = i/5 + f5[i/5];
}
int nr2, nr3, nr5, rez = 0;
for (i = 0; i <= n; i++)
{
nr2 = f2[n] - f2[i] - f2[n-i];
nr3 = f3[n] - f3[i] - f3[n-i];
nr5 = f5[n] - f5[i] - f5[n-i];
if (d == 2 && nr2) rez++;
if (d == 3 && nr3) rez++;
if (d == 4 && nr2 >= 2) rez++;
if (d == 5 && nr5) rez++;
if (d == 6 && nr2 && nr3) rez++;
}
return rez;
}
int main()
{
int n, d;
ifstream fin("pascal.in");
fin >> n >> d;
fin.close();
ofstream fout("pascal.out");
fout << howMany(n, d) << "\n";
fout.close();
return 0;
}