Jump to content

Php Konusunda 1soruya Yardm Edebilecek Olan Varmı?


Recommended Posts

İyi akşamlar arkadaşlar benim üç saat içinde yapıp sitemde yayınlamam gereken 9 tane php sorusu var... 8 ini yaptım ancak 9. soru çok karmaşık geldi...sorunun kodunu yapıp yollayabilecek bir arkadaş varmı? işte soru şöyle...

9) Roma'da kral 21 kişinin öldürülmesine karar veriyor. Cellat fazla yorulmamak için öldürülecek olanları çember biçiminde diziyor. Herkesin eline bir balta veriyor ve öldürme kuralı olarak da 2.Kişi 3.Kişiyi, 5.Kişi 6.kişiyi, .... , öldürüyor. Yani 2 Kişi atlanıp 3.Kişi öldürülüyor. Bu son iki kişi kalana kadar devam ediyor. Serbest kalacak bu son iki kişinin hangi numaralar olduğunu bulan programı yapınız.

Yardımlarınızı bekliyorum arkadaşlar herkese iyi akşamlar...

Link to comment
Share on other sites

Ben bunu kafamda düşündüm, while döngüsü kullanan üç tane fonksiyon yazman gerekiyor, birinci fonksiyonun while döngüsünün 21 kere dönmesi lazım. 2.fonksiyon 1.fonnksiyondan dönen degerleri, 3.fonksiyon 2. fonksiyondan dönen degerleri kullanması ve 1. ve 2.fonksiyonun dizi(ölmeyen sayılar) deger döndermesi ve her metodun sayaçla ölmeyen kişi adedini tutması gerekiyor. Fonksiyonlar tamamen aynı fakat, while döngüsüne giren kişiler azalıyor. 2.fonksiyonda while döngüsü, 1.fonksiyonda sag kalanlar kadar, 3.fonksiyonda while döngüsü 2.fonksiyonda sag kalanlar kadar dönmesi gerekiyor. Fonksiyonlarda yapacagın kontrol aynı. örnegin sayı üçe bölünüyorsa bu öldür anlamında oluyor, bölünmüyorsa öldürme anlamına geliyor. Öldürmediklerini diziye aktar ve onun için ayrı bir sayaç kullan. Bütün degişkenleri metod dışında tanımla. :D

Link to comment
Share on other sites

kardeş yardımın için sağol da bende aynı şeyi düşündüm ancak programa yazamadım pek whileden anlamıyorum açıkcası forla da olmuyor sanırım ne yapıcam gerçekten bilmiyorum.

Ya bu soru ben1mde bas1ma bela oldu cvp'i ben1m ac1l olarak bulamam gerekiyor.Ahmet tavs1yelerin için tskler ama bende higtruth'a kat1l1yorum....

Bende While ve forla yapmaya kalkt1m ama yapamad1m..

Link to comment
Share on other sites

  • 3 hafta sonra ...

Ben birşeyler yaptım ama hem emin değilim hemde biraz uykuluyum :blush:

Keşke sonucun ne olduğunu da yazsaydınız :(

neyse inş. doğrudur değilse de uydururuz bir şekilde artık :good:

<?php

$KisiSayisi = 21;
$Donus = 0;
for($i = 1; $i <= $KisiSayisi; $i ++) {
    $Dizi [] = $i;
}

while ( $Donus < $KisiSayisi ) {
    $Dizi = KillIt ( $Dizi );
    $Donus ++;
}

echo "<pre>";
print_r ( $Dizi );
echo "</pre>";
echo '<hr>';

function DiziDuzenle($D) {
    $Di = array ();
    foreach ( $D as $dd => $ddd ) {
        $Di [] = $ddd;
    }
    return $Di;
}

function KillIt($D) {
    $D = DiziDuzenle ( $D );
    for($i = 1; $i < end ( $D ); $i = $i + 2) {
        unset ( $D [$i + 1] );
        $i ++;
    }
    return $D;
}

?>

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...