Chapollino86
Цитата |
у walerus очень похоже, но от цикла вылазит ошибка. |
Цитата |
Хотелось бы как функцию вызывать. Указываешь кол-во разрядов в данном случае три и диапазон для разрядов. |
Цитата |
в этом случае 3 разряда. диапазон размера по формуле (1*7)*(2*7)*(3*7) если 4 разряда тогда диапазон размера по формуле (1*7)*(2*7)*(3*7)*(4*7) если 7 разрядов тогда диапазон размера по формуле (1*7)*(2*7)*(3*7)*(4*7)*(5*7)*(6*7)*(7*7) и так далее. |
<?php
function FindMaxNumber( $number, $range_min = 1, $range_max = 100 ){
$i = 1;
while(true){
$result = $number / $i;
if ( (($number%$i) == 0) && ($result > $range_min) && ($result <= $range_max) ){
return $result;
}
$i++;
if ( $result <= $range_min ){
return false;
}
}
}
for ($a = 1; $a <= 2058; $a++) {
$number = $a;
$number_3 = FindMaxNumber( (($number/ $number_1)/ $number_2), 1, 7 ); // 72 / 12 = 6 => 6
$number_2 = FindMaxNumber( ($number/ $number_1) , 1, 14 ); // 1368 / 19 = 72 => 12
$number_1 = FindMaxNumber( $number, 1, 21 ); // => 19
echo "<br>".$number_1 . "|" . $number_2 . "|" . $number_3;
$itog = $number_1 * $number_2 * $number_3;
if ( $itog == $number ){
echo "Условие выполнено, число $number:\n";
echo $number_1 . " * " . $number_2 . " * " . $number_3 . " = " . $itog . "\n";
}else{
echo "Условие НЕ выполнено, число $number, необходимо увеличить диапазон выборки чисел\n";
echo $number_1 . " * " . $number_2 . " * " . $number_3 . " = " . $itog . "\n";
}
}
?>