Pagini recente » Cod sursa (job #2850074) | Cod sursa (job #503225) | Cod sursa (job #1839002) | Cod sursa (job #1532400) | Cod sursa (job #961712)
Cod sursa(job #961712)
#include <fstream>
#include <stdlib.h>
using namespace std;
long R,D;
char C2[5000001];
char C3[5000001];
char C5[5000001];
void ComputeCnt(long n,char *l,long lim)
{
long s = n;
while (s <= lim)
{
long p = s;
while (p <= lim)
{
l[p] += 1;
p += s;
}
s *= n;
}
}
int main(void)
{
fstream fin("pascal.in",ios::in);
fstream fout("pascal.out",ios::out);
ComputeCnt(2,C2,5000000);
ComputeCnt(3,C3,5000000);
ComputeCnt(5,C5,5000000);
fin >> R >> D;
long d2,d3,d5;
d2 = d3 = d5 = 0;
long f = 0;
for (long i = 1;i <= R;i += 1)
{
d2 += C2[R - i + 1] - C2[i];
d3 += C3[R - i + 1] - C3[i];
d5 += C5[R - i + 1] - C5[i];
switch (D)
{
case 2 :
{
if (d2 > 0)
{
f += 1;
}
}
break;
case 3 :
{
if (d3 > 0)
{
f += 1;
}
}
break;
case 4 :
{
if (d2 > 1)
{
f += 1;
}
}
break;
case 5 :
{
if (d5 > 0)
{
f += 1;
}
}
break;
case 6 :
{
if ((d2 > 0) && (d3 > 0))
{
f += 1;
}
}
break;
}
}
fout << f;
fin.close();
fout.close();
return 0;
}