Dwumiany (spoj) c++

Dwumiany (spoj) c++
DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
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?

Kopiuj
 #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;
}
Sopelek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 467
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

SI
  • Rejestracja: dni
  • Ostatnio: dni
0

Wyświetlaj wynik przez

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

I ci zaliczy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.