- Motorola Edge 50 Neo - az egyensúly gyengesége
- One mobilszolgáltatások
- Megérkezett Magyarországra a legkülönlegesebb kameratelefon
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iOS alkalmazások
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Samsung Galaxy S23 Ultra - non plus ultra
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Yettel topik
Ú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.
-
htc07
addikt
válasz
fordfairlane #15392 üzenetére
Igen, összefűzve kell, az egyik fájl naponta beleírja az aktuális dolgokat, a másik meg bármikor ki tudja olvasni az addigi adatokat.
#15391, köszi ezt megpróbálom
-
htc07
addikt
Sziasztok!
Egy olyan kódban kellene a segítség, ami naponta fut le CRON-al, lekér bizonyos adatokat JSON-on, és lementi azokat egy txt fájlba úgy, hogy egy másik fájl ki tudja olvasni JSON-nal, de valamit elrontok.
$out=Array("a" => $a, "b" => $b, "c" => $c);
$jsonout=json_encode($out);
WriteTXT($jsonout);És így néz ki a txt fájl (pl. 3x lehívás után):
{"a":1,"b":2,"c":3}{"a":2,"b":3,"c":4}{"a":3,"b":4,"c":5}
Az látszik, hogy túl sok az { és a } , van valami tippetek, hogyan lehetne ezt megoldani, vagy milyen formában tároljam el a txt fájlban?
Az lenne a vége, hogy a fájl, ami kiolvassa a txt-t, a 3 oszlopot táblázatba tudja rakni, egymás alá szépen.
-
htc07
addikt
Sziasztok!
Lenne egy gyors kérdésem (eléggé hobbi szinten vagyok a php-val):
$result=Array("a" => "0",
"b" => "asdfgh",
"c" => "qwertz"
);
foreach($result as $row => $val){
if($row == "a" && $val == 0){
echo "nulla";
}
else{
echo "egy";
}
}Az "a" értéke 0 vagy 1.
Hogyan tudnám megoldani, hogy csak az "a" értékét írja ki?
A jelenlegi kód kimenete:
nullaegyegy
Új hozzászólás Aktív témák
- OLED monitor topic
- sziku69: Fűzzük össze a szavakat :)
- Gyorsan cáfolta az Xbox hardverek lelövéséről szóló pletykákat a Microsoft
- Mibe tegyem a megtakarításaimat?
- Nintendo Switch
- NFL és amerikai futball topik - Spoiler veszély!
- Milyen belső merevlemezt vegyek?
- Facebook és Messenger
- Windows 11
- Elektromos autók - motorok
- További aktív témák...
- HIBÁTLAN iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3240
- Lenovo, Dell, HP, Panasonic Getac üzleti és ütésálló katonai laptopok + Ipad 6-13. gneráció
- Huawei Watch GT 5 Pro 42mm, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Seagate Exos X18 16TB SAS merevlemez
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest