-
Fototrend

Új hozzászólás Aktív témák
-
Szabesz
őstag
válasz
bambano
#10004
üzenetére
Legyenek változók, hogy jobban lehessen látni a dolgokat:
$a = bcadd("0","10000");
$a2 = pow($a,2);Ekkor ez a feltétel:
(pow(mt_rand(0,$a),2)+pow(mt_rand(0,$a),2))<=$a2Ami akkor lesz igaz, ha generálódik két olyan legfeljebb
$aoldalhosszúságú négyzet, amik területének összege legfeljebb egy$aoldalhosszúságú négyzet területe ($a2).
Ha az mt_rand nem csak egész számokat adna vissza, akkor az ideális eseteket afrom 0 to $a integrate sqrt($a^2-x^2) dxintegrál adja meg, összes eset pedig az$a2. Mivel a terület arányok nem változnának, lehet$a=1az integrálhoz, mert így rögtön a terület aránya jön ki. Az eredmény pedig aπ/4, ami ~0.785398, de te úgy is felszoroztad 4-gyel, vagyis aπaz amit látni szeretnél a randomból, ha jól sejtem
-
Szabesz
őstag
válasz
bambano
#10001
üzenetére
Ugyan nem szoktam PHP-ban programozni, de érdekelt mit is csinál a kód.
Kicsit ki kellett hámozni, mert sok benne a zavaró rész.
Első körben ez egy végtelen ciklus, gondolom valamikor van egy
break;ami kimaradt.
Veszünk valami limitet, mondjuk 50000 ciklus után kilépünk, és akkor írjuk ki a végeredményt.$totalszámolja a ciklusokat,$countnéha növekszik. Pontosan akkor növekszik amikor a kérdéses feltétel igaz lesz.(pow(mt_rand(0,1),2)+pow(mt_rand(0,1),2))<=1
itt a pow teljesen fölösleges, hisz az mt_rand (0,1) paraméterrel pontosan a két szám egyikével térhet vissza: 0-val vagy 1-gyel, amiken a pow nem fog változtatni. Tehát ez akkor lesz igaz, ha két random szám - ami 0 vagy 1 lehet - összege <=1 lesz. Ez három esetben lehetséges: 0+0, 0+1, 1+0. A fennmaradó eset az 1+1 esetén már nem igaz. Ez 3/4=0,75.
A módosított feltétel esetén (<1) pedig a lehetséges 4 esetből csak egy lesz igaz: a 0+0. Ez pedig így 1/4=0,25.A végeredmény ezt számolja ki, csak valamiért a
$count/$totalértéket felszorzod 4-gyel. Ezért lesz ugye a két esetben nálad 4*0,25=1, illetve 4*0,75=3 körüli értékek. -
Szabesz
őstag
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Házimozi haladó szinten
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Elemlámpa, zseblámpa
- Soundbar, soundplate, hangprojektor
- Robot fűnyírók
- VR topik
- PlayStation 5
- ASZTALI GÉP / ALKATRÉSZ beárazás
- iPhone topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- További aktív témák...
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával! Upd. 02.27
- iPhone 12 Pro 128GB 100% (3hónap garancia) - AKCIÓ
- Dell Precision 3571 i7-12700H 16GB 512GB FHD RTX T600 4GB 1 év teljeskörű garancia
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H110M i5 6500 8GB DDR4 120GB SSD 500GB HDD GTX 1050Ti 4GB Zalman T3 Plus NBASE 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


