|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.04.2023, 22:18 | #1 |
Регистрация: 20.03.2023
Сообщений: 4
|
Найдите максимально возможную площадь пиццы
Нужно написать код на с++, вот задачка:
В данный момент в пиццерии готово n пицц. У каждой пиццы есть соответствующий диаметр R и цена S. Любой посетитель пиццерии может взять любую пиццу или ее часть. После того, как посетитель возьмет всю пиццу, он заплатит за нее полную стоимость, но если он возьмет часть пиццы, то заплатит только за соответствующую часть (например, взяв треть пиццы, вы заплатите треть цены). В данный момент у Ивана x денег и он хочет съесть как можно больше пиццы. Какую максимальную площадь пиццы может съесть Иван за заданную сумму денег? Используйте дробь 355/113 вместо числа pi. Входные данные: первая строка содержит два целых числа n и x (0 ≤ n ≤ 1000, 0 ≤ x ≤ 10^9). Следующие строки содержат два целых числа R и S (1 ≤ R, S ≤ 10^6). Выходные данные: выведите максимально возможную площадь пиццы, оставив три цифры после десятичной точки. Например Если ввести: 5 20 4 12 3 5 6 7 3 6 7 3 То ответ должен быть 79.718 |
29.04.2023, 23:18 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Странно: (79.718 * 113 / 355)^1/2 = 5.03736293631
Но если взять только последнюю пиццу 7 3, то радиус у неё 7, а стоимость 3. т.е. останется ещё 17 деньгами, чтобы нажраться до отвала. Если решать самым простым и понятным способом эту задачу, то у меня получилась площадь 1075.21017699 аж в 13,5 раз больше (по сумме радиусов 18.5 вместо 5) |
30.04.2023, 00:58 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
1. Определяем цену куска пиццы: R^2 / S (pi пока не учитываем).
Сколько пиццы можно купить на один золотой. В соответствии с примером получим: Код:
Код:
Возможно, что ТС ошибся и дан не радиус пиццы, а её диаметр. В этом случае: S = pi*D^2/4. Т.е., наш результат надо делить на 4-е. S = 318,872 / 4 = 79,718
Как-то так, ...
|
30.04.2023, 01:04 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Ага, в условии так и написано "диаметр" (но авторы обозначили его буквой R: или чтобы проверить на внимательность, или при изменении условия забыли R на D поправить).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
30.04.2023, 01:15 | #5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Пока читал и решал задачу забыл условие (сбился из-за буквы). А потом и не проверил.
Стар стал, ...
Как-то так, ...
|
30.04.2023, 01:19 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Тоже самое...
|
30.04.2023, 15:48 | #7 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Решил не останавливаться. На С++ ???
Вот на Python: Код:
Как-то так, ...
|
01.05.2023, 01:16 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
ViktorR, я бы не стал мучаться с массивом индексов и делать сложную индексацию, а отсортировал бы сам массив:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.05.2023, 09:50 | #9 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Позже подумал и сделал через zip(), но ваш вариант лучше.
Спасибо, учимся ... PS: Пока у меня нет должного понимания лямбда-функций PSS: Мне понравилось, как учтён случай набора целых пицц.
Как-то так, ...
Последний раз редактировалось ViktorR; 01.05.2023 в 10:01. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найдите сумму каждой строки матрицы и найдите минимальное значение среди полученных сумм. | Егоров | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 08.05.2018 00:47 |
Написать программу, которая определит максимально возможную силу заново сформированного отряда | Shved2298 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 02.12.2017 08:21 |
есть целевая функция (площадь поперечного сечения двутавра) подобрать параметры,чтобы площадь была минимальной (Паскаль) | Osvetik | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 19.02.2013 22:18 |
как использовать всю возможную память?? | arturkhusnull | Операционные системы общие вопросы | 3 | 23.03.2011 10:07 |