• 23-11-2020, 17:56:01
    #1
    EDİT: Hepinize çok teşekkürler çözüldü
    Merhaba dostlar,
  • 23-11-2020, 18:05:42
    #2
    Mobilden bu kadar 😊

    //(1*2^n)
     
    $array = [];
    for($i=0;$i<10;$i++){
    $array[] = 2^$i;
    if($i!=0){
    $array[] = 2^$i;
    }
    }
    echo implode(",",$array);
  • 23-11-2020, 18:14:28
    #3
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    Mobilden bu kadar 😊

    //(1*2^n)
    $array = [];
    for($i=0;$i<10;$i++){
    $array[] = 2^$i;
    if($i!=0){
    $array[] = 2^$i;
    }
    }
    echo implode(",",$array);
    Hocam hatalı maalesef ama ellerinize sağlık.

    Sizin outputunuz: 2,3,3,0,0,1,1,6,6,7,7,4,4,5,5,10,10,11,11
  • 23-11-2020, 18:18:25
    #4
    function getRankValue(int $order): int
    {
        if ($order <= 1) {
            return 1;
        }
    
        if ($order % 2) {
            $order -= 1;
        }
    
        return pow(2, $order / 2);
    }
    
    
    echo getRankValue(10);
  • 23-11-2020, 18:25:32
    #5
    Kendi kendini çağıran fonksiyon:
    <?php
    $i=0;
    $dizim = array("test1","test2","test3");
    $dongu=count($dizim);
    function terim(){
        global $dizim;
        global $i;  
        global $dongu;
        if ($dongu>0) {        
            echo "$i. terim: ".$dizim[$i]; echo "<br>";
            $dongu--;
            $i++;
            terim();
       }
    }
    terim();
    ?>
    Sayıyı sizden alan ve for ile tüm diziyi gösteren kod:
    <?php
    $dizim = array("test1","test2","test3");
    function terimGir($a){
        global $dizim;
        return "$a. terim: ".$dizim[$a];
    }
    
    //Kendin gir
    echo terimGir(2);
    
    //for ile yapılanla karışmasın diye 2 kere alt satıra geçtim
    echo "<br>";
    echo "<br>";
    
    // for ile tüm dizi
    for ($i=0; $i < count($dizim); $i++)
    {    
    echo terimGir($i);
    echo "<br>";
    }
    ?>
  • 23-11-2020, 18:33:03
    #6
    coder63 adlı üyeden alıntı: mesajı görüntüle
    function getRankValue(int $order): int
    {
        if ($order <= 1) {
            return 1;
        }
    
        if ($order % 2) {
            $order -= 1;
        }
    
        return pow(2, $order / 2);
    }
    
    
    echo getRankValue(10);
    Hocam gayet başarılı ancak pow fonksiyonunun mantığı nedir o kısımda acaba?
  • 23-11-2020, 18:35:15
    #7
    10 adım ilerlettim fakat sonsuza dek ilerletmek istersen
  • 23-11-2020, 18:42:27
    #8
    Aynen ^ kalmış aklımda üssü ** olacak.
    <?php
    $limit = 10;
    $array = [];
    for($i=0;$i<=$limit;$i++){
    $array[] = 2**($i);
    if($i!=0){$array[] = 2**($i);
    }
    }
    echo implode(",",$array);
    ?>
    
    //Output: 1,2,2,4,4,8,8,16,16,32,32,64,64,128,128,256,256,512,512
  • 23-11-2020, 19:20:14
    #9
    emrecanozkan adlı üyeden alıntı: mesajı görüntüle
    Hocam gayet başarılı ancak pow fonksiyonunun mantığı nedir o kısımda acaba?
    pow ile üs alıyoruz hocam. Kaynak: https://www.php.net/manual/en/function.pow.php