Dwumiany (spoj) c++

0

Witam sędzia ze spoja mi tego nie zalicza a wyniki w ideone.com są dobre .
zadanie ze http://pl.spoj.com/problems/BINOMS/
potrafiłby ktoś wytłumaczyć gdzie leży błąd?

 #include <iostream>
using namespace std;


int main()
{
    double t,n,k;
    cin>>t;
    double wynik;
    
    while(t) {
        cin >> n >> k;
        wynik=1;
        for(double i=1; i <=k ; i++){
            wynik=((n-i + 1)) /i*wynik;

        }
        cout << wynik << endl;
        t--;
    }
    return 0;
}
0

double ma skończoną precyzję, przez co dla niektórych danych dostajesz złe wyniki
pomyśl nad lepszym algorytmem korzystającym z np long long int

0

Wyświetlaj wynik przez

printf("%1.0f\n", wynik);
 

I ci zaliczy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1