X + 30% от Y = Y
или
X = Y - 30% от Y
Найти Y, где X = целое число.
function search_statr_value($price, $sale, $max_price = false) {
if( $max_price === false ) {
$max_price = $price * 100;
}
$resultPrice = round(($max_price/100)*$sale);
// Нашли !
if($price == $resultPrice) {
return $max_price;
}
if($resultPrice > $price) {
return search_statr_value($price, $sale, $max_price/2, $max_price);
}
if($resultPrice < $price) {
return search_statr_value($price, $sale, round($max_price+($max_price/2)));
}
}
echo search_statr_value(1499, 30);
Получился такой не эффективный код на бинарном поиске(типо того). Как бы улучшить быстродействие или использовать другой подход для достижения цели ?
И да, да, да ) я ставлю цену и скидку, желая получить "старую цену".