Pagini recente » Cod sursa (job #2832994) | Cod sursa (job #192012) | Cod sursa (job #239950) | Cod sursa (job #2378421) | Cod sursa (job #268517)
Cod sursa(job #268517)
#include <stdio.h>
FILE *f, *g;
long x=0, y, z, l, sw, n, r, d, a, b, c, t, j, h, k, u;
int main(void)
{
f=fopen("pascal.in", "r");
g=fopen("pascal.out", "w");
fscanf (f, "%ld%ld", &r, &d);
if (r%2==1)
{
sw=0;
n=(r-1)/2;
}
else
{
sw=1;
n=r/2;
}
for (j=1;j<=n;j++)
{
x=y=z=a=b=c=0;
l=1;
for (h=1;h<=23;h++)
{
l*=2;
if (l>r&&l>(r-j)&&l>j)
break;
x+=r/l;
y+=(r-j)/l;
z+=j/l;
}
a=x-y-z;
x=y=z=0;
l=1;
for (h=1;h<=14;h++)
{
l*=3;
if (l>r&&l>(r-j)&&l>j)
break;
x+=r/l;
y+=(r-j)/l;
z+=j/l;
}
b=x-y-z;
x=y=z=0;
l=1;
for (h=1;h<=6;h++)
{
l*=5;
if (l>r&&l>(r-j)&&l>j)
break;
x+=r/l;
y+=(r-j)/l;
z+=j/l;
}
c=x-y-z;
if (j==n)
u=k;
if (d==2&&a)
{
k++;
continue;
}
if (d==3&&b)
{
k++;
continue;
}
if (d==4&&a>=2)
{
k++;
continue;
}
if (d==5&&c)
{
k++;
continue;
}
if (d==6&&a&&b)
{
k++;
continue;
}
}
if (!k)
{
fprintf(g, "0");
fcloseall();
return 0;
}
if (!sw)
fprintf(g, "%ld", 2*k);
else
if (u==k)
fprintf(g, "%ld", 2*k);
else
fprintf(g, "%ld", 2*k-1);
fcloseall();
return 0;
}