Witam, robię program http://pl.spoj.com/problems/BINOMS/ napisałem go, program dobrze działa dla małych liczb, przy większych program wywala. Jakieś pomysły na optymalizacje tych liczb czy coś?
#include <iostream>
using namespace std;
int main()
{
int liczbaprob;
cin>>liczbaprob;
for(int i=0; i<liczbaprob; i++)
{
long long int e=1;
long long int c=1;
int d;
int b;
cin >>d;
int f;
f=d;
if(d==0)
c=1;
else
{
for(int j=0; j<d; j++)
{
c=c*d*(d-1);
d--;
d--;
}
}
int a;
cin>>a;
b=f-a;
if(b==0)
e=1;
else
{
for(int j=0; j<b; j++)
{
e=e*b*(b-1);
b--;
b--;
}
}
long long int g=1;
if(a==0)
g=1;
else
{
for(int j=0; j<a; j++)
{
g=g*a*(a-1);
a--;
a--;
}
}
cout <<c/(e*g)<<endl;
}
return 0;
}