Cześć.
Napisałem taki program który ma obliczać wartość symbolu Newtona:
#include <iostream>
using namespace std;
unsigned long long int silnia(unsigned long long int h)
{
switch (h)
{
case 1:
return 1;
break;
default:
return h * silnia(h-1);
}
}
int main()
{
unsigned long long int n,k,i,t,j,sume=1,mian;
cin>>t;
for(i=0; i<t; i++)
{
cin>>n>>k;
sume=1;
for(j=(n-k+1); j<=n; j++)
sume*=j;
if(n==k) cout<<1;
else
{
mian=silnia(k);
cout<<sume/mian;
}
}
return 0;
}
Po sprawdzeniu takiego zestaw:
1
32 16
wyświetla nieprawidłowy wynik. Hmm nie wiem w czym problem.