prawdopodobieństwo w loterii

0

Witam. Liczę szansę na wygraną w loterii ze współczynnika dwumianowego mając jedną szansę.

1/(\frac{1*(n-1)<em>(n-2)</em>...<em>(n-k+1)}{1</em>2<em>3</em>...*k} )

a) Czy może mi ktoś poradzić jak wygląda wzór, jeżeli chciałbym wygrać 2 razy z rzędu?

1/(\frac{1*(n-1)<em>(n-2)</em>...<em>(n-k+1)}{1</em>2<em>3</em>...<em>k}</em>\frac{1*(n-1)<em>(n-2)</em>...<em>(n-k+1)}{1</em>2<em>3</em>...*k} )

b) Czy może mi ktoś poradzić jak wygląda wzór, jeżeli chciałbym wygrać raz na 2 próby?

1/(\frac{1*(n-1)<em>(n-2)</em>...<em>((n-k+1)}{(1</em>2<em>3</em>...<em>k)</em>(1<em>2</em>3*...*k)})

import java.io.Console;
import java.util.*;

public class Npwynew {
    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("Ile liczb chcesz wylosować? ");
    int k = in.nextInt();

    System.out.print("Jaka jest górna granica losowanych liczb? ");
    int n =in.nextInt();

    double szansa = 1;
    for (int i =1; i<=k; i++)
       szansa = szansa * (n-i +1)/i;
    
    System.out.print("Szansa ti jak 1 do " + szansa );


    }
0

Nie wiem dlaczego nie konwertuje na LaTeX

0

A czy ktoś podpowie z zadaniem? :)

1

Prawdopodobieństwo zdarzeń niezależnych wynosi P(A \cap B) = P(A) \cdot P(B). Gdzie dla Ciebie P(A) = P(B). Więc najzwyczajniej prawdopodobieństwo wygranej N razy pod rząd wynosi P(A)^{N}. Prawdopodobieństwo wygrania przynajmniej raz w N próbach wynosi P(A \cup B) = P(A) + P(B) - P(A \cap B) co w połączeniu z poprzednim daje nam: N \cdot P(A) - P(A)^{N}.

Natomiast jak sam zauważyłeś P(A) = {C_n^k}^{-1} = {n \choose \k}^{-1} = \left(\frac{n!}{k!(n-k)!}\right)^{-1} gdzie n to moc zbioru z którego wybierasz wartości (ilość liczb do wyboru) a k to moc wybieranego podzbioru (ile liczb skreślasz). Co do kodu to polecam zauważyć zależność, że a &gt; b \Rightarrow \frac{a!}{b!} = \prod_{i = b + 1}^{a} i co oznacza, że zdecydowanie lepiej jest to liczyć tak:

# zakładamy, że a > b
def binom(a, b)
  c = a - b
  c, b, a = [a, b, c].sort

  ((b + 1)..a).reduce(:*) / (1..c).reduce(:*)
end

Co zdecydowanie zmniejsza prawdopodobieństwo overflow (aczkolwiek nadal należy uważać, bo ta funkcja rośnie całkiem szybko).

0

Dzięki! :)

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