Direk onu yazmak için yorumları okuya okuya aşağıya iniyordum lafı ağzımdan almışsın![]()
Şununla ileri geri yap, açılmazsa nitelikli bir hırsıza götür.![]()
Şifreyi 50 kez üst üste bildiği haldd unutmak .sCevap doğru. 50 kez kontrol ettim şifre çıkıyor ve her maddeye uyuyor![]()
<?php
$length = getLength(4);
$answer = "0000";
$possibility = "";
for($number = 1000; $number < $length; $number++){
$data = str_split($number);
if(strlen($number) != 4)
continue;
if(($data[2] * $data[3]) != (($data[0] * $data[1])+29))
continue;
$b = $data[1] / 2; // TEK
$d = $data[3] / 2; // ÇİFT
if(sqrt($data[0]) == isSingle(sqrt($data[0])))
continue;
if(isSingle($b) && !isSingle($d)){
$minNumber = $data[array_search(min($data),$data)];
$maxNumber = $data[array_search(max($data),$data)];
if(($maxNumber - $minNumber) != 6)
continue;
if($data[2] > $data[1] || $data[2] == $data[1])
continue;
$possibility .= $number . " | A sayısının karesi: ".($data[0]*$data[0])."<br>";
}
}
echo $possibility ? $possibility : $answer;
function getLength($length){
$lastLength = "";
for($number = 0; $number < $length; $number++){
$lastLength .= "9";
}
return $lastLength;
}
function isSingle($number) {
if(strstr($number,"."))
return true;
else
return false;
}
?>
Öyle olsaydı fazla basit olurdu :/Soruyu farklı bir yol ile çözmeyi denedim:
![]()
Nasıl yaptığımı merak edenler için:Kod:<?php $length = getLength(4); $answer = "0000"; $possibility = ""; for($number = 1000; $number < $length; $number++){ $data = str_split($number); if(strlen($number) != 4) continue; if(($data[2] * $data[3]) != (($data[0] * $data[1])+29)) continue; $b = $data[1] / 2; // TEK $d = $data[3] / 2; // ÇİFT if(sqrt($data[0]) == isSingle(sqrt($data[0]))) continue; if(isSingle($b) && !isSingle($d)){ $minNumber = $data[array_search(min($data),$data)]; $maxNumber = $data[array_search(max($data),$data)]; if(($maxNumber - $minNumber) != 6) continue; if($data[2] > $data[1] || $data[2] == $data[1]) continue; $possibility .= $number . " | A sayısının karesi: ".($data[0]*$data[0])."<br>"; } } echo $possibility ? $possibility : $answer; function getLength($length){ $lastLength = ""; for($number = 0; $number < $length; $number++){ $lastLength .= "9"; } return $lastLength; } function isSingle($number) { if(strstr($number,".")) return true; else return false; } ?>
Benimkinin biraz düzenli haliÖyle olsaydı fazla basit olurdu :/
![]()
Ek olarak senin ki 4 haneli tüm kombinasyonlara bakmıyor sadece 1000 den büyük olanlara bakıyor. Ya cevap 0001 gibi bir sayı olsaydı?Benimkinin biraz düzenli hali![]()
Evet ben de tam kodu okurken fark ettim şimdiEk olarak senin ki 4 haneli tüm kombinasyonlara bakmıyor sadece 1000 den büyük olanlara bakıyor. Ya cevap 0001 gibi bir sayı olsaydı?
İşin içerisine biraz regex katarak sayının 4 haneli olup olmadığına bakabiliriz. Bu da benden:![]()
@MegaCrafter şimdi farkettim sende en büyük ve en küçük sayının farkına bakmamışsın![]()
helal be adam biliyor.Öyle olsaydı fazla basit olurdu :/
![]()