2023-11-18 10:21:48 +01:00
|
|
|
"""
|
|
|
|
Biblioteka random posiada funkcję random, która zwraca losową licznę z przedziału [0, 1) (nie przyjmuje żadnych argumentów).
|
|
|
|
Biblioteka math posiada funkcję hypot, która oblicza odległość punktu od środka układu współrzędnych (punktu [0, 0]) i przyjmuje dwa argumenty: współrzędne punktu.
|
|
|
|
* Zaimportuj biblioteki random i math
|
|
|
|
* korzystając z funkcji random wylosuj dwie liczby i przypisz wyniki do zmniennych x i y.
|
|
|
|
* Korzystając z funkcji hypot oblicz odległość punktu o współrzednych (x,y).
|
|
|
|
* Dodaj pętlę, która będzie wykonywać te czynności n = 10 razy i będzie zliczać ile razy obliczona odległość jest mniejsza od 1.
|
|
|
|
* Oblicz stosunek liczby punktów, dla których odległość wynosiła mniej niż 1 do całkowitej liczby punktów. Pomnóż tę wartocść przez 4.
|
|
|
|
* Podstaw za n wartości 100, 1000, 1000000. Do jakiej wartości zbiegają wartości?
|
|
|
|
"""
|
2023-11-18 16:42:28 +01:00
|
|
|
|
|
|
|
import math
|
|
|
|
import random
|
|
|
|
|
|
|
|
cntLessThanOne = 0
|
|
|
|
repetitions = 10000
|
|
|
|
|
|
|
|
for i in range(0,repetitions):
|
|
|
|
x = random.random()
|
|
|
|
y = random.random()
|
|
|
|
distance = math.hypot(x, y)
|
|
|
|
print(x, y, distance)
|
|
|
|
if distance < 1:
|
|
|
|
cntLessThanOne += 1
|
|
|
|
|
|
|
|
|
|
|
|
print(cntLessThanOne)
|
|
|
|
print(cntLessThanOne/repetitions * 4)
|