- Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja az aktuális trendeket...
- Időutazás floppyval: A 486-os visszavág PCem-men
- AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Processzor és videokártya szilícium mag fotók újratöltve!
- Az e-sport napistenének ajándéka: Lamzu Inca gamer egér
- Magga: PLEX: multimédia az egész lakásban
- Mr.Csizmás: Bestbuy travel, utazós, kirándulós topic - szállások, jegyek
- sziku69: Fűzzük össze a szavakat :)
- leslieke: leslieke farmerzsebe
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- No Voice in the Galaxy
- Rap, Hip-hop 90'
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
Hirdetés
Új hozzászólás Aktív témák
-
htc07
addikt
Sziasztok!
Igazából sosem tanították nekem a PHP-t, mindig csak google alapján hánytam össze amire épp szükségem volt, de most kifogott rajtam egy dolog, remélem tudtok segíteni, hol rontom el.
Ezt kellene kiszámolni:
Egy iskolába 1000 diák jár, és 1000 szekrény van a folyosón. Az igazgató az első napon megkéri az egyik tanulót, menjen ki a folyosóra, és nyissa ki az összes szekrényt. Ezután megkér egy másik tanulót, menjen, és minden második szekrényajtót csukjon be. Majd azt kéri egy harmadik tanulótól, hogy minden harmadik ajtót csukjon be, ha nyitva van, és nyisson ki, ha zárva. A negyedik gyerek minden negyedik ajtóhoz megy oda, és így tovább, lassan mind az ezer gyerek sorra kerül. A végén hány ajtó marad nyitva?
Ezt sikerült összedobálnom (1000 helyett 50-et használtam, hogy gyorsabban lefusson amíg rájövök mi a rossz).
<?php
$i=1; //hanyadik diak
$ajtoszam=$i; // 3: minden harmadik, 8: minden nyolcadik ajtó...
$hanydiak = 50; // hány diák, hány ciklus
$ajto=array_fill(1, $hanydiak, "1"); // 1: zart, 0: nyitott
function nyitzar($ajtoszam)
{
if($ajtoszam <= $hanydiak)
{
if($ajto[$ajtoszam] == "1")
{
$ajto[$ajtoszam] = "0";
}
else
{
$ajto[$ajtoszam] = "1";
}
$ajtoszam=$ajtoszam+$ajtoszam;
nyitzar($ajtoszam);
}
}
function hanyadik($i)
{
if($i <= $hanydiak)
{
nyitzar($ajtoszam);
$i++;
hanyadik($i);
}
}
hanyadik($i);
$eredmeny = array_count_values($ajto);
echo $eredmeny['1']. " ajto marad nyitva";
?>Tuti hogy a function-nel rontok el valamit, az ismétlődő ciklusokkal sem volt sok dolgom eddig, meg így estére már elfáradt az agyam
A megoldást tudom, azt is hogy miért annyi, (ez google), de a kiszámolás megvalósítása lenne az érdekes számomra, nem az igazgató megkérdőjelezhető hóbortja.
Új hozzászólás Aktív témák
- Bezámítás! Lenovo Legion 5 17ACH6H Gamer notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3060 6GB WIN11
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / 32GB DDR4 / RTX 3060Ti 8GB / 500GB SSD
- iKing.Hu - Apple iPhone 13 Pro Max - Silver - Használt, karcmentes, 100% akku
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- Utolsó darab - Sennheiser MOMENTUM 4 fejhallgatók
Állásajánlatok
Cég: FOTC
Város: Budapest