Pagini recente » Cod sursa (job #1001071) | Profil M@2Te4i | Profil M@2Te4i | Profil M@2Te4i | Cod sursa (job #484989)
Cod sursa(job #484989)
#include<fstream>
using namespace std;
long long e(int n,int p)// p=nr. prim
{
int nr=0;
while(n>0)
{nr=nr+n/p;
n=n/p;
}
return nr;
}
int ecomb(int n,int k,int p)
{
int nr;
nr=e(n,p)-e(k,p)-e(n-k,p);
return nr;
}
int calcul(int r,int k,int d)
{int x,y;
if(d==2||d==3||d==5)
{x=ecomb(r,k,d);
return x>0;
}
else if(d==6)
{
y=ecomb(r,k,3);
if(y==0)return 0;
x=ecomb(r,k,2);
return min(x,y)>0;
}
else {x=ecomb(r,k,2);
return x>=2;
}
}
int main()
{
int r,d;
ifstream f("pascal.in");
ofstream g("pascal.out");
f>>r>>d;
int nr=0;
int m;
m=(r-1)/2;
for(int i=1;i<=m;i++)
nr=nr+2*calcul(r,i,d);
if(r%2==0)nr=nr+calcul(r,(m-1)/2+1,d);
g<<nr<<'\n';
}