• 01-04-2021, 13:42:06
    #10
    Instagram mavi tik✅
    DeSh adlı üyeden alıntı: mesajı görüntüle
    Omerfd haklı. Kendisi en büyük böleni olur.
    Ayrıca sizin kodunuz Asal sayılar için sonuç veremez. (Kendisi ve 1'e bölünmesi koşulunu kontrol edemezsiniz) Kendisi hariç en büyük bölenini bulacaksanız şunu deneyebilirsiniz:

    <?php
        $sayi=131;
        for($i = intval(floor($sayi/2)); $i>=1; $i--)
        {
            
            if ($sayi % $i == 0)
            {
                if($i==1){
                    echo $sayi .' bir asal sayıdır.<br />';
                }else{
                    echo 'En büyük tam bölen: '.$i.'<br />';
                    break;
                }
            }else{
                //İsteğe bağlı debug
                //echo '$sayi: '.$sayi .' - $i: '. $i. ' - $sayi % $i ='.$sayi % $i. '<br />';
            }
        }
    Sizin kodunuzda denediğimde de max() çalışıyor.

    <?php
        $sayi=120;
        for($i=2;$i<=$sayi/2;$i++)
            if ($sayi%$i==0)
                $bolenler[]=$i;
            
        echo 'En büyük bölen: '. max($bolenler);
    teşekkür ederim
  • 01-04-2021, 14:04:28
    #11
    En büyük bölen sayının kendisidir. onun dışındaki en büyük bölende bölenler dizisindeki en son elemandır.