Привет друзья. Всю ночь ковырял код, пытался понять как так сделать. Есть сумма заказа и есть товары. Надо вычислить какие товары спрятаны в этой сумме. Думал про рекурсию и остаток отделения, но в код это собрать не могу. Настоящая головоломка для моей логики :)
Мой код на php:
<?php
// Входящие данные
$article = 'hp'; // артикул товара
$sum = 3563; //Сумма (для теста тут принтер hp + 4 катриджа: hpb*3 + hpr*1)
// принтеры
$printersPrice = [
'canon' => 1000,
'hp' => 2000,
'xerox' => 3000,
];
// катриджи
$accessories = [
'canon' => [
'cnb' => 390,
'cnbxl' => 490,
],
'hp' => [
'hpr' => 390,
'hpb' => 391,
'hpg' => 392,
'hpk' => 393,
],
];
$accessoriesSum = $sum - $printersPrice[$article]; // вычитаем стоймость принтера из общей суммы
$basket = [];
buildBasket(...) {...}
/*
на выходе ожидается массив такого содержания
[
hpb => 3,
hpr => 1,
]
или false если цена специально неправильно составлена
**/