Pagini recente » Cod sursa (job #1707244) | Cod sursa (job #340702) | Cod sursa (job #1780301) | Borderou de evaluare (job #1036201) | Cod sursa (job #484978)
Cod sursa(job #484978)
#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;
for(int i=1;i<r;i++)
nr=nr+calcul(r,i,d);
g<<nr<<'\n';
}