Pagini recente » Cod sursa (job #1675966) | Cod sursa (job #2093348)
#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;
cin>>r>>d;
cazan=(r+1)/2;
if(d==2 || d==3 || d==5)
{
for(i=1; i<=cazan; i++)
{
if(cateded((r),d)>cateded((r-i+1),d)+cateded((i-1),d))
cnt+=2;
}
if(r%2==0)
if(cateded((r),d)>cateded((r-cazan),d)+cateded(cazan,d))
cnt++;
}
else
if(d==4)
{
for(i=1;i<=cazan;i++)
{
if(cateded((r),d)-1>cateded((r-i+1),d)+cateded((i-1),d))
cnt+=2;
}
if(r%2==0)
if(cateded((r),d)-1>cateded((r-cazan),d)+cateded((cazan-1),d))
cnt++;
}
else
if(d==6)
{
for(i=1;i<=cazan;i++)
{
if(cateded((r),2)>cateded((r-i+1),2)+cateded((i-1),2) && cateded((r),3)-1>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;
}