Страницы: 1
RSS
Для произвольной последовательности натуральных чисел нужно определить такое число, чтобы сумма чисел больше него оказалась равна заданной доле от суммы всех чисел последовательности, Можно ли найти это число без промежуточной сортировки?
 
Прошу помощи в решении следующей задачи:
Дана произвольная последовательность положительных чисел [для простоты иллюстрации: натуральных].
Можно ли без предварительной сортировки этой последовательности определить такое число, чтобы сумма всех чисел больше него оказалась бы больше 80% от суммы всех чисел?
Отдельно стоит вопрос что можно сделать, если таких чисел в последовательности несколько, а запрошенная граница проходит через середину их ряда...
 
Код
=МАКС(ЕСЛИ(СУММЕСЛИ(D4:D31;">"&D4:D31)>0,8*СУММ(D4:D31);D4:D31;""))
только определитесь
Цитата
IKor написал:
сумма всех чисел больше него
или включая его (как в примере), тогда
Код
=МАКС(ЕСЛИ(СУММЕСЛИ(D4:D31;">="&D4:D31)>0,8*СУММ(D4:D31);D4:D31;""))
Соблюдение правил форума не освобождает от модераторского произвола
 
формула массива:
Код
=НАИБОЛЬШИЙ(R4C4:R31C4;МАКС(ЕСЛИ(СУММЕСЛИ(R4C4:R31C4;">="&НАИБОЛЬШИЙ(R4C4:R31C4;СТОЛБЕЦ(R1C1:R1C27)))<СУММ(R4C4:R31C4)*R[1]C;СТОЛБЕЦ(R1C1:R1C27)))+1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо за помощь!
Оба варианта работают корректно.
Страницы: 1
Наверх