Pagini recente » Cod sursa (job #2011416) | Cod sursa (job #2142786) | Cod sursa (job #2124727) | Cod sursa (job #3295431) | Cod sursa (job #2093351)
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
long long cateded(int i,int d)
{
int dd=d;
long long s1=0;
while(dd<=i)
{
s1+=i/dd;
dd*=d;
}
return s1;
}
int main()
{
int r,d,cnt=0,i,cazan,x,x2,x3;
cin>>r>>d;
cazan=(r+1)/2;
x=cateded(r,d);
if(d==2 || d==3 || d==5)
{
for(i=1; i<=cazan; i++)
{
if(x>cateded((r-i+1),d)+cateded((i-1),d))
cnt+=2;
}
if(r%2==0)
if(x>cateded((r-cazan),d)+cateded(cazan,d))
cnt++;
}
else
if(d==4)
{
for(i=1;i<=cazan;i++)
{
if(x>cateded((r-i+1),d)+cateded((i-1),d))
cnt+=2;
}
if(r%2==0)
if(x-1>cateded((r-cazan),d)+cateded((cazan-1),d))
cnt++;
}
else
if(d==6)
{
x2=cateded(r,2);
x3=cateded(r,3);
for(i=1;i<=cazan;i++)
{
if(x2>cateded((r-i+1),2)+cateded((i-1),2) && x3>cateded((r-i+1),3)+cateded((i-1),3))
cnt+=2;
}
if(r%2==0)
if(cateded(r,2)>cateded((r-cazan),2)+cateded(cazan,2) && cateded((r),3)-1>cateded((r-cazan),3)+cateded(cazan,3))
cnt+=2;
}
cout<<cnt;
return 0;
}