Pagini recente » Cod sursa (job #1357845) | Cod sursa (job #2291198) | Cod sursa (job #3160727) | Cod sursa (job #2616388) | Cod sursa (job #2911041)
#include <fstream>
using namespace std;
ifstream fin ("pascal.in");
ofstream fout ("pascal.out");
int calc (int i,int val)
{
int dd=val;
int r=0;
while (dd<=i)
{
r=r+i/dd;
dd=dd*val;
}
return r;
}
int n,d,i,j,nr2,nr3,k,nr,d2[5000001],d3[5000001],d5[5000001];
int main ()
{
fin>>n>>d;
for (i=1; i<=n; i++)
{
d2[i]=calc(i,2);
d3[i]=calc(i,3);
d5[i]=calc(i,5);
}
for (j=1; j<n; j++)
{
if (d==2)
{
nr=d2[n]-d2[j]-d2[n-j];
if (nr>=1)
k++;
}
if (d==3)
{
nr=d3[n]-d3[j]-d3[n-j];
if (nr>=1)
k++;
}
if (d==4)
{
nr=d2[n]-d2[j]-d2[n-j];
if (nr>=2)
k++;
}
if (d==5)
{
nr=d5[n]-d5[j]-d5[n-j];
if (nr>=1)
k++;
}
if (d==6)
{
nr2=d2[n]-d2[j]-d2[n-j];
nr3=d3[n]-d3[j]-d3[n-j];
if (nr2>=1&&nr3>=1)
k++;
}
}
fout<<k;
return 0;
}