Pagini recente » Cod sursa (job #383380) | Cod sursa (job #2671512) | Cod sursa (job #2690614) | Cod sursa (job #2380340) | Cod sursa (job #1217367)
#include <cstdio>
#define Nmax 5000005
using namespace std;
int logg[Nmax],dp[Nmax];
int main()
{
int N,D,d,i,sol=0;
freopen ("pascal.in","r",stdin);
freopen ("pascal.out","w",stdout);
scanf("%d%d", &N,&D);
if(D==4)
d=2;
else
if(D==6)
d=3;
else
d=D;
logg[d]=1;
for(i=d+1;i<=N;++i)
if(i%d==0)
logg[i]=logg[i/d]+1;
for(i=2;i<=N;++i)
dp[i]=dp[i-1]+logg[i];
for(i=0;i<=N;++i)
{
if(D==4)
{
if(dp[N]-dp[i]-dp[N-i]>1)
++sol;
}
else
if(dp[N]>dp[i]+dp[N-i])
++sol;
}
printf("%d\n", sol);
return 0;
}