Pagini recente » Cod sursa (job #2591461) | Cod sursa (job #2923602) | Cod sursa (job #717863) | Cod sursa (job #2396715) | Cod sursa (job #983513)
Cod sursa(job #983513)
#include<fstream>
using namespace std;
int k,p,n,d;
int nr,x[10];
int t[3]={2,3,5};
int main()
{ifstream fin("pascal.in");
fin>>n>>d;
fin.close();
ofstream fout("pascal.out");
int i;
for(i=1;i<=(n-1)/2;++i)
{k=0;
p=i;
while(p>1&&k<=2)
{ while(p%t[k]==0)
{--x[t[k]];p/=t[k];}
++k;
}
k=0;
p=n-i+1;
while(p>1&&k<=2)
{ while(p%t[k]==0)
{++x[t[k]];p/=t[k];}
++k;
}
if(d==2||d==5||d==3)
if(x[d]>0)
++nr;
if(d==4)
if(x[2]>1)
++nr;
if(d==6)
if(x[2]>0&&x[3]>0)
++nr;
}
nr=nr*2;
if(n%2==0)
{k=0;
p=i;
while(p>1&&k<=2)
{ while(p%t[k]==0)
{--x[t[k]];p/=t[k];}
++k;
}
p=n-i+1;
while(p>1&&k<=2)
{ while(p%t[k]==0)
{++x[t[k]];p/=t[k];}
++k;
}
if(d==2||d==5||d==3)
if(x[d]>0)
++nr;
if(d==4)
if(x[2]>1)
++nr;
if(d==6)
if(x[2]>0&&x[3]>0)
++nr;
}
fout<<nr<<'\n';
fout.close();
return 0;
}