Выбрать наилучшие сочетания изготовления табуретов - C#
Формулировка задачи:
На мебельной фабрике выпускают табуреты с тремя и четырьмя ногами. В наличии имеется 101 заготовка. выбрать наилучшие сочетания изготовления табуретов т. е. количество оставшихся ног должно стремиться к минимуму
Решение задачи: «Выбрать наилучшие сочетания изготовления табуретов»
textual
Листинг программы
var result = (
from x in Enumerable.Range(0, (101/3)+1)
from y in Enumerable.Range(0, (101/4)+1)
let res = new { x = x, y = y, left = 101 - 3*x - 4*y }
where
(res.x > 0 || res.y > 0)
&& res.left >= 0
orderby res.left
select res
);
if (!result.Any())
{
Console.WriteLine("Решение не найдено");
}
else
{
var minLeft = result.First().left;
foreach (var r in result.TakeWhile(r => r.left == minLeft))
{
Console.WriteLine("x={0}, y={1}, осталось={2}", r.x, r.y, r.left);
}
}