arkadaşlar phpde bölenleri bulmak için bu kodu kullanıyorum ama en büyükk böleni nasıl bulacagımı bulamadım nasıl yapabilirim
<?
php $sayi=120; for($i=2;$i<=$sayi/2;$i++)
if ($sayi%$i==0)
$bolenler[]=$i;
echo "<u>$sayi sayısının tam bölenleri:</u>
<br>"; for ($i=0;@$bolenler[$i];$i++)
echo $bolenler[$i],"<br>";
?>
php en büyük bölen bulma
10
●107
- Kabul Edilen Cevap
- 0 Beğeni
-
- 01-04-2021, 13:09:27Aşağıdaki kodları kullanabilirsiniz, max($bolenler) işe yaramadıysa ama normalde çalışması gerekiyor arkadaşlarında dediği gibi.
$maxs = array_keys($bolenler, max($bolenler)); $en_buyuk_deger=$bolenler[$maxs[0]]; echo $en_buyuk_deger ;
VEYA sıralama bu şekilde olup en büyük değer en sonda oluyorsa sürekli bu şekilde de alabilirisiniz
end($bolenler)
- 01-04-2021, 13:28:04Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.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);
