У меня есть массив значений (около 20 из них), от примерно 9.5 до 0.001. Мне нужно сложить значения вместе, чтобы получить число от 15 до 85 (или получить ближайшее возможное значение)
Данные испытаний:
[9.912,7.414,5.512, 5.43,5.303,5.041,5.025,4.944,3.509, 3.3,3.191,3.076,2.914,2.753, 2.29,1.955,1.917,1.822,1.626,1.526,1.489,1.482,1.362,1.354,1.311,1.222,1.154,0.904,0.799, 0.79,0.657,0.643,0.618,0.615,0.592,0.564,0.484, 0.48,0.447,0.419,0.415,0.328,0.325,0.288, 0.26,0.251,0.248,0.23,0.223,0.221,0.154,0.129,0.128,0.126,0.103,0.102,0.099,0.092,0.077,0.071,0.066, 0.06,0.046,0.037,0.028,0.023,0.007,0.003,0.003,0.003,0.002,0.001,0.001,0.001,0.001]
Может ли кто-нибудь мне помочь / возможно ли это?
Мне это кажется подозрительно похожим на вопрос о назначении в класс ...
Да, я сделаю это в следующий раз. Моя основная проблема в том, что я вообще не имел ни малейшего понятия, как к этому подойти (поэтому у меня не было кода). Теперь, когда я вижу тент, он кажется таким ясным!
Ваш вопрос неоднозначный. Ближайшее значение к диапазону 15..85? Какова цель, нижний / верхний предел диапазона? Или получить точное целочисленное значение? Чтобы сопоставить отдельное значение, алгоритм поиска с возвратом может найти лучшие значения, кроме простого сложения по порядку.



Вы могли бы сделать это так:
$arr = @(9.912,7.414,5.512, 5.43,5.303,5.041,5.025,4.944,3.509, 3.3,3.191,3.076,2.914,2.753, 2.29,1.955,1.917,1.822,1.626,1.526,1.489,1.482,1.362,1.354,1.311,1.222,1.154,0.904,0.799, 0.79,0.657,0.643,0.618,0.615,0.592,0.564,0.484, 0.48,0.447,0.419,0.415,0.328,0.325,0.288, 0.26,0.251,0.248,0.23,0.223,0.221,0.154,0.129,0.128,0.126,0.103,0.102,0.099,0.092,0.077,0.071,0.066, 0.06,0.046,0.037,0.028,0.023,0.007,0.003,0.003,0.003,0.002,0.001,0.001,0.001,0.001)
$output = 0
$arr | foreach {
if (($output + $_) -le 85){
$output += $_
}
}
$output
В приведенном выше примере будет возвращено число, близкое, но меньше 85.
Вы не показали ни своего собственного кода, ни каких-либо указаний на то, что вы пытались исследовать / искать решение. (Всегда включайте свой код, даже если он не работает!) Я бы рекомендовал прочитать Как спросить и контрольный список вопросов, поскольку на данный момент в вашем вопросе отсутствуют основы, которые ожидаются при задании вопроса. Ваш вопрос, скорее всего, будет отклонен и закрыт, пока вы не включите в него основы.