Задать вопрос
@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
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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