-
IT café
Új hozzászólás Aktív témák
-
őstag
Ugyan kopottas már a C++-om, de itt az első string méretét kapod vissza, nem a tömbét.
string selectAreaInput[5] = {"Grammi", "Gruffi", "Cabi", "Tummi", "Sunni"};
cout << selectAreaInput->size() << " " << (sizeof(selectAreaInput)/sizeof(*selectAreaInput)) << endl;[ Szerkesztve ]
¯\_(ツ)_/¯
-
ő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.$total
számolja a ciklusokat,$count
né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.¯\_(ツ)_/¯
-
ő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))<=$a2
Ami akkor lesz igaz, ha generálódik két olyan legfeljebb
$a
oldalhosszúságú négyzet, amik területének összege legfeljebb egy$a
oldalhosszú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) dx
integrál adja meg, összes eset pedig az$a2
. Mivel a terület arányok nem változnának, lehet$a=1
az 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[ Szerkesztve ]
¯\_(ツ)_/¯
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Új Latitude 7440 2-in-1, FHD+ IPS kihajtható érintő, i7-1365U, 32GB DDR5, 512GB NVMe, IR kamera, gar
- Beszámítás! GB H610M i5 13400F 32GB DDR4 1TB SSD RTX 3070Ti 8GB MONTECH AIR 1000 Lite Corsair 650W
- Xiaomi Instant Photo Printer 1S Set Bontatlan!
- Beszámítás! GB H610M i5 13400F 16GB DDR4 250GB SSD RTX 3070Ti 8GB MONTECH AIR 100 Lite Chieftec 700W
- Beszámítás! ASRock H510M i7 10700F 16GB DDR4 500GB SSD RTX 3070 8GB Rampage Shiva Seasonic 650W