Pagini recente » Cod sursa (job #1774534) | Istoria paginii utilizator/hiimeevee | Cod sursa (job #584785) | Cod sursa (job #2016227) | Cod sursa (job #271738)
Cod sursa(job #271738)
#include<fstream.h>
long n,nr,v[7];
int d;
void calculare(long k)
{
long i,aux;
v[2]=0; v[3]=0; v[5]=0;
for (i=n-k+1; i<=n; i++)
{
aux=i;
//2
while (aux%2==0 && aux!=0)
{
v[2]++;
aux=aux/2;
}
//3
while (aux%3==0 && aux!=0)
{
v[3]++;
aux=aux/3;
}
//5
while (aux%5==0 && aux!=0)
{
v[5]++;
aux=aux/5;
}
}
for (i=2; i<=k; i++)
{
aux=i;
//2
while (aux%2==0 && aux!=0)
{
v[2]--;
aux=aux/2;
}
//3
while (aux%3==0 && aux!=0)
{
v[3]--;
aux=aux/3;
}
//5
while (aux%5==0 && aux!=0)
{
v[5]--;
aux=aux/5;
}
}
if (d==2 && v[2]>=1)
nr++;
if (d==3 && v[3]>=2)
nr++;
if (d==4 && v[2]>=2)
nr++;
if (d==5 && v[5]>=1)
nr++;
if (d==6 && v[2]>=1 && v[3]>=1)
nr++;
}
int main()
{
long i;
ifstream fin("pascal.in");
fin>>n>>d;
n++;
for (i=2; i<=n/2; i++)
calculare(i);
nr=nr*2;
if (n%2==1)
calculare(n/2+1);
ofstream fout("pascal.out");
fout<<nr;
fin.close();
fout.close();
return 0;
}