Pagini recente » Cod sursa (job #1287468) | Cod sursa (job #2065129) | Cod sursa (job #637633) | Cod sursa (job #683648) | Cod sursa (job #2455744)
#include <cstdio>
using namespace std;
int r, d, nr;
int sum(int n, int d)
{
int s=0;
while(n)
{
int rest=n/d;
s+=rest;
n=rest;
}
return s;
}
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d %d", &r, &d);
int sus2=sum(r, 2);
int sus3=sum(r, 3);
int sus5=sum(r, 5);
int ok=0;
for(int i=0; i<=(r+1)/2; i++)
{
sus2-=(sum(i, 2)+sum(r-i, 2));
sus3-=(sum(i, 3)+sum(r-i, 3));
sus5-=(sum(i, 5)+sum(r-i, 5));
if(d==2)
{
if(sus2!=0)
{
nr+=2;
if(i==(r+1)/2)
nr--;
}
}
else if(d==3)
{
if(sus3!=0)
{
nr+=2;
if(i==(r+1)/2)
nr--;
}
}
else if(d==4)
{
if(sus2>=2)
{
nr+=2;
if(i==(r+1)/2)
nr--;
}
}
else if(d==5)
{
if(sus5!=0)
{
nr+=2;
if(i==(r+1)/2)
nr--;
}
}
else if(d==6)
{
if(sus2!=0 && sus3!=0)
{
nr+=2;
if(i==(r+1)/2)
nr--;
}
}
sus2+=(sum(i, 2)+sum(r-i, 2));
sus3+=(sum(i, 3)+sum(r-i, 3));
sus5+=(sum(i, 5)+sum(r-i, 5));
}
printf("%d", nr);
return 0;
}