@sidni
Php Developer

Aлгоритм подбора 5 ближайщих сумм при покупке товара?

Как то запутался по жаре....
Вопрос такой есть номиналы в валюте к примеру
$nominals = [1,2,5,10,20,50,100];
и нужно вывести к примеру 5 ближайших сумм которые может дать пользователь за покупку товара, к примеру если товар стоит
$productCost = 30;
// вывести 30, 40, 50, 100;
$productCost = 312;
// вывести 312,315,320,350
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
longclaps
@longclaps
На питоне так:
coins = [1, 2, 5, 10, 20, 50, 100]

def roundup(cost):
    return sorted(set((cost + c - 1) // c * c for c in coins))

print(roundup(30))   # [30, 40, 50, 100]
print(roundup(312))  # [312, 315, 320, 350, 400]

а специфика арифметики и структур данных php - это уж сам )
зы и еще, откуда там 325?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@haramba
Почему вопросы о про битрикс такие тупые?
$key = array_search($sum, $nominals);
$sum5 = array_slice($nominals, $key, 5);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы