Dwumiany (spoj) c++

Dwumiany (spoj) c++
DA
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 8 lat
  • 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;
}
edytowany 1x, ostatnio: Darqknurow
Sopelek
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 8 lat
  • 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

edytowany 1x, ostatnio: Sopelek
SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 6 godzin
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.