Pagini recente » Cod sursa (job #959460) | Cod sursa (job #1409357) | Cod sursa (job #3224420) | Stelele Informaticii 2009, clasele 9-10, ziua 2 | Cod sursa (job #548086)
Cod sursa(job #548086)
#include <fstream>
using namespace std;
int n,d,nr;
ifstream in("pascal.in");
ofstream out("pascal.out");
int fact(int n,int x)
{
int nr=0;
while (n)
{
nr+=n/x;
n/=x;
}
return nr;
}
int f2()
{
for (int i=0;i<=n;i++)
nr+=(fact(n,2)-fact(i,2)-fact(n-i,2)>0);
return nr;
}
int f3()
{
for (int i=0;i<=n;i++)
nr+=(fact(n,3)-fact(i,3)-fact(n-i,3)>0);
return nr;
}
int f4()
{
for (int i=0;i<=n;i++)
nr+=(fact(n,2)-fact(i,2)-fact(n-i,2)>1);
return nr;
}
int f5()
{
for (int i=0;i<=n;i++)
nr+=(fact(n,5)-fact(i,5)-fact(n-i,5)>0);
return nr;
}
int f6()
{
for (int i=0;i<=n;i++)
nr+=(fact(n,2)-fact(i,2)-fact(n-i,2)>0 && fact(n,3)-fact(i,3)-fact(n-i,3)>0);
return nr;
}
int etc()
{
if (d==2)
return f2();
if (d==3)
return f3();
if (d==4)
return f4();
if (d==5)
return f5();
return f6();
}
int main()
{
in>>n>>d;
out<<etc()<<"\n";
return 0;
}