Pytanie
Dominik: W urnie jest 6 kul oznaczonych kolejnymi cyframi od 1 do 6. Doświadczenie losowe polega na
dwukrotnym losowaniu jednej kuli, przy czym po pierwszym losowaniu kula nie wraca do urny.
Cyfra, jaką jest oznaczona pierwsza wylosowana kula, jest cyfrą jedności, a cyfra na drugiej
kuli jest cyfrą dziesiątek liczby dwucyfrowej. Oblicz prawdopodobieństwo zdarzenia A
polegającego na tym, że otrzymana liczba jest taką liczbą podzielną przez 3, której cyfra
jedności jest nie większa niż 4.
Ja zrobiłem to tak
{1,2,3,4,5,6} − kule w urnie
omega=6*5=30 dlatego, że w pierwszym losowaniu mogę wszystkie, a w drugim ta sama kula nie
wraca do (puli) czyli o jedną mniej

i teraz zacząłem wypisywać liczby które są podzielne przez 3 i liczba jedności jest nie
większa niż 4: (12)(15)(21)(24)(36)(42)(45)
| | 7 | |
Czyli prawdopodobieństwo wynosi |
| |
| | 30 | |
Zobaczcie teraz ten filmik z tym zadaniem
http://www.youtube.com/watch?feature=player_embedded&v=5TtylR-cEkI#!
Wyszły jemu też 7 par liczb, ale czy on nie ma źle bo skoro liczba jedności ma być nie większa
niż 4?
Kto tutaj ma poprawnie zrobione zadanie?
4 maj 20:44
Dominik: Sprawdzi ktoś?
4 maj 21:00
Michał: juz patrze
4 maj 21:01
Dominik: Thx
4 maj 21:02
yep: | | 7 | |
wyszlo mi |
| , a te liczby to: (12), (21), (24), (42), (51), (54), (63) |
| | 30 | |
4 maj 21:05
Michał: cyfra jedności jest nie większa niż 4. a poparz jakie liczby dopasowałeś do A
4 maj 21:06
Dominik: Ale patrzcie mi tez wyszło 7, ale tak pisze:
Cyfra, jaką jest oznaczona pierwsza wylosowana kula, jest cyfrą jedności i dalej pisze:
Oblicz prawdopodobieństwo zdarzenia A polegającego na tym, że otrzymana liczba jest taką
liczbą podzielną przez 3, której cyfra jedności jest nie większa niż 4.
4 maj 21:09
Michał: ale wynik taki to przypadek w tym wypadku. bo zmieniłeś sobie treść zadania. liczba jedności
nie może być większa od 4 wiec bierzemy pod uwage 1,2,3,4 wiec np 36 lub 45 nie pasują. owszem
sa podzielne przez 3 ale cyfra jednosci nie pasuje wiec jeden z warunków nie jest spełniony.
4 maj 21:12
Janek191:
yep − źle !
5 > 4 i 6 > 4
4 maj 21:13
Dominik: Czyli moje pary: (12)(15)(21)(24)(36)(42)(45) są dobre?
4 maj 21:14
Janek191:
Było dobrze − chodziło o cyfrę jedności , a nie dziesiątek .
4 maj 21:15
Janek191:
Dominik − źle !
4 maj 21:15
Trivial:
ghci> let omega = [ (x,y) | x <− [1..6], y <− [1..6], y /= x ]
ghci> let a = [ 10*y + x | (x,y) <− omega, x <= 4, (x+y)`mod`3 == 0 ]
ghci> a
[21,51,12,42,63,24,54]
ghci> omega
[(1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,3),(2,4),(2,5),(2,6)
,(3,1),(3,2),(3,4),(3,5),(3,6),(4,1),(4,2),(4,3),(4,5),(4,6)
,(5,1),(5,2),(5,3),(5,4),(5,6),(6,1),(6,2),(6,3),(6,4),(6,5)]
ghci> import Data.Ratio
ghci> (length a) % (length omega)
7 % 30
4 maj 21:16
Dominik: Chyba czaje, liczba jedności druga liczba... a nie pierwsza, ale specjalnie w błąd wprowadzają
"pierwsza wylosowana kula to liczba jedności"
4 maj 21:18
Janek191:
Powinno być :
A = { 12, 21, 24, 42, 51, 54, 63 }
4 maj 21:19
Dominik: Rozumiem już o co chodzi, druga liczba ma być mniejsza lub równa 4, bo to liczba jedności.
Ale po co to zdanie"Cyfra, jaką jest oznaczona pierwsza wylosowana kula, jest cyfrą jedności, a
cyfra na drugiej kuli jest cyfrą dziesiątek liczby dwucyfrowej. "
Nie mogła by być taka treść zadania:
W urnie jest 6 kul oznaczonych kolejnymi cyframi od 1 do 6. Doświadczenie losowe polega na
dwukrotnym losowaniu jednej kuli, przy czym po pierwszym losowaniu kula nie wraca do urny.
Oblicz prawdopodobieństwo zdarzenia A polegającego na tym, że otrzymana liczba jest taką liczbą
podzielną przez 3, której cyfra jedności jest nie większa niż 4.
4 maj 21:23
yep: @Janek191:
możesz powiedzieć, co jest źle w moim rozwiązaniu?
4 maj 21:25
Trivial: Dominik teraz to dopiero jest niejasne.
4 maj 21:26
Trivial: yep, nic nie było źle.
4 maj 21:28
yep: @Trivial
powiem szczerze, że zaciekawiłem się twoim rozwiązaniem; chyba spojrze na jakis tutorial; to
bazuje na skladni haskella? nie wiedzialem, ze mozna tak elegancko to rozpisac w linii polecen
4 maj 21:34
Trivial: yep, tak to jest Haskell i jego składnia "list comprehension".
4 maj 21:36
yep: ciekawe, czy rownie szybko mozna to zrobic w interpreterze Pythona, bo to blizsze mi podejscie;
tak czy siak, dzieki serdeczne
4 maj 21:42
4 maj 21:44
yep: zaraz sprobuje zaimplementowac twoje rozwiazanie w tym jezyku
4 maj 21:48
Trivial:
Też działa.

>>> omega = [ (x,y) for x in range (1,7) for y in range (1,7) if y != x ]
>>> a = [ 10*y + x for (x,y) in omega if x <= 4 and (x+y)%3 == 0 ]
>>> a
[21, 51, 12, 42, 63, 24, 54]
4 maj 21:53
yep: heh, a wlasnie szukalem jak zainicjalizowac zmienna omega jednym wyrazeniem (bez
owczesniejszego rozbijania na 2 petle) − jak widac mozna; rownie elegancki zapis
4 maj 22:03