Тема 26. Обработка целочисленной информации с использованием сортировки
26.04 Скидки
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации с использованием сортировки
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#87928

Магазин предоставляет оптовому покупателю скидку по следующим правилам:

– на каждый третий товар ценой больше 401 рубля предоставляется скидка 25%;

– общая цена покупки со скидкой округляется вверх до целого числа рублей;

– порядок товаров в списке определяет магазин и делает это так, чтобы общая сумма скидки была наименьшей.

Вам необходимо определить общую цену закупки с учетом скидки и цену самого дорогого товара, на который будет предоставлена скидка.

Входные данные. Первая строка входного файла 26_3.txt содержит число N – общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число – цену товара в рублях. В ответе запишите два целых числа: сначала общую цену покупки с учетом скидки, затем цену самого дорогого товара, на который предоставлена скидка.

Вложения к задаче
Показать ответ и решение
f = open(’26_3.txt’)
n = int(f.readline())
a = sorted([int(i) for i in f])
p = []
p_disc = []
for i in a:
    if i < 402:
        p.append(i)
    else:
        p_disc.append(i)
s = sum(p)
for i in range(len(p_disc)):
    if i < len(p_disc) // 3:
        s += p_disc[i] * 0.75
        print(p_disc[i])
    else:
        s += p_disc[i]
print(int(s) + 1)

Ответ: 1873848 925

Ошибка.
Попробуйте повторить позже

Задача 2#63368

В магазине электроники раз в месяц проводится распродажа. Из всех товаров выбирают K товаров с самой большой ценой и делают на них скидку в 20%, затем ещё M товаров с самой большой ценой и делают на них скидку 10%. По заданной информации о цене каждого из товаров и количестве товаров, на которые будет скидка, определите цену самого дорогого товара, не участвующего в распродаже, а также целую часть от суммы всех скидок.

Входные и выходные данные. В первой строке входного файла находятся три числа, записанные через пробел: N – общее количество цен (натуральное число, не превышающее 10 000), K – количество товаров со скидкой 20% и M – количество товаров со скидкой 10%. В следующих N строках находятся значения цены каждого из товаров (все числа натуральные, не превышающие 10 000), каждое в отдельной строке. Запишите в ответе два числа: сначала целую часть от суммы всех скидок, а затем цену самого дорогого товара, не участвующего в распродаже

Вложения к задаче
Показать ответ и решение

Открываем программу Excel и загружаем в неё наш файл. Сортируем столбец А во убыванию, так как скидка накладывается на самые дорогие товары. С помощью формулы =  A1⋅0,2  считаем скидку на первый товар и растягиваем её вниз до строки под номером 100. Таким образом, мы посчитали скидку на 100 первых самых дорогих товара. Начиная со строки 101 вписываем формулу A101 ⋅0,1  до строки 250, таким образом, мы считает скидку 10% на следующие 150 товаров.

Товар в строке 251 не участвует в распродаже и его стоимость наибольшая, значит, это и есть самый дорогой товар.

Для того, чтобы найти сумму всех скидок, воспользуемся формулой =  СУММ(B : B )  .

Ответ: 314590 7500

Ошибка.
Попробуйте повторить позже

Задача 3#60740

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:

— на каждый второй товар стоимостью больше 70 рублей предоставляется скидка 30%;

— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;

— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей;

По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидки.

Входные данные

Первая строка входного файла содержит число N — общее количество купленных товаров. Каждая из последующих N строк содержит одно целое число — стоимость товара в рублях.

В ответе запишите два целых числа через пробел: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.

Вложения к задаче
Показать ответ и решение

Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.

Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по возрастанию.

Товаров, которые дешевле 70 рублей, либо стоят 70 рублей, здесь 1114. 7890-1114=6776 — количество товаров дороже 70 рублей, выделяем первую половину из них и применяем скидку. Начиная с A1115 до A4502 включительно, применяем формулу по типу =A1115*0,7 в соседнем столбце. Изначальная стоимость последнего товара, на который применили скидку — 284, это пойдёт в ответ вторым числом.

Считаем сумму: =СУММ(A1:A1114)+СУММ(B1115:B4502)+СУММ(A4503:A7890). С округлением в большую сторону, выходит 1784848.

Ответ: 1784848 284

Ошибка.
Попробуйте повторить позже

Задача 4#57342

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый четвертый товар стоимостью больше 153 рублей предоставляется скидка 40%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и целую часть средней стоимости товаров, которые не участвуют в определении скидки.
Входные данные.
Первая строка входного файла 26_23.txt содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа без пробелов и разделителей: сначала общую стоимость покупки с учётом скидки, потом целую часть средней стоимости товаров, которые не участвуют в определении скидки.
Пример входного файла:
6
65
50
490
215
164
320
В данном случае товары стоимостью 50 и 65 не участвуют в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 215, 320, 490, 164. Тогда скидка предоставляется на товар стоимостью 164 рубля. Стоимость этого товара со скидкой составит 98,4 руб., после округления — 99 руб. Тогда общая сумма покупки равна: 50+65+215+320+490+98= 1336 руб.
Средняя стоимость товаров, которые не участвуют в определении скидки: ()50+65)/2 = 57,5. В ответе нужно записать числа 1336 и 57.

Вложения к задаче
Показать ответ и решение

Сортируем по возрастанию. Первые 136 товаров не участвуют в скидке, так как меньше 154 рублей. Далее остается 864 товара, которые участвуют в акции. Продавцу выгодно, чтобы по скидке покупались самые дешевые товары, поэтому по скидке пробьют первые 216 товаров.

Посчитаем стоимость товаров со скидкой, они будут находится в диапазоне А137:А352: = СУММ(А137:А352)*0,6 = 34543,8 руб. То есть 34544 рубля.

Стоимость товаров, которые не попали под условия акции: СУММ(А1:А136) = 11732р.

Стоимость товаров, на которые не было скидки: СУММ(А353:А1000)=444889р.

Общая стоимость покупки: 11732+34544+444889= 491165 руб.

Средняя часть стоимости товаров, которые не участвуют в орпделении скидки: =СРЗНАЧ(А1:А136)=86,2

В ответе запишем: 491165 86.

Ответ: 49116586

Ошибка.
Попробуйте повторить позже

Задача 5#57341

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый второй товар стоимостью больше 101 рубля предоставляется скидка 25%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую сумму скидки и стоимость самого дорогого товара, на который будет предоставлена скидка.
Входные данные.
Первая строка входного файла 26_23.txt содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа без пробелов и разделителей: сначала общую сумму скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Пример входного файла:
6
65
50
490
215
144
320
В данном случае товары стоимостью 50 и 65 не участвуют в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 490, 144, 320, 215. Тогда скидка предоставляется на товары стоимостью 144 и 215. Стоимость этих двух товаров со скидкой составит 269,25 руб., после округления — 270 руб. Тогда общая сумма скидки равна: 144+215-270 = 89 руб.
Самый дорогой товар, на который будет получена скидка, стоит 215 руб. В ответе нужно записать числа 89 и 215.

Вложения к задаче
Показать ответ и решение

Сортируем по возрастанию. Первые 80 товаров не участвуют в скидке, так как меньше 102 рублей. Далее остается 920 товаров, которое участвуют в акции. Продавцу выгодно, чтобы по скидке покупались самые дешевые товары, поэтому по скидке пробьют первые 460 товаров.

Посчитаем стоимость товаров со скидкой, они будут находится в диапазоне А81:А540: СУММ(А81:А540)*0,25 = 37904.5 руб. Округляем в меньшую сторону и получаем 37904 руб. В меньшую сторону округляем, так как мы считает сумму скидки, а не итоговую сумму товаров.

Самый дорогой товар, на который была предоставлена скидка, находится в ячейке А540 = 556 руб.

В ответе запишем: 37904 556.

Ответ: 37904556

Ошибка.
Попробуйте повторить позже

Задача 6#57202

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый второй товар стоимостью больше или равным 70 рублей предоставляется скидка 20%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидка.
Входные данные.
Первая строка входного файла 26_3.txt содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа через пробел: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Пример входного файла:
6
65
50
490
215
144
320
В данном случае товары стоимостью 50 и 65 не участвуют в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 490, 144, 320, 215. Тогда скидка предоставляется на товары стоимостью 144 и 215. Стоимость этих двух товаров со скидкой составит 287,2 руб., после округления — 288 руб. Общая стоимость покупки составит: 50 + 65 + 490 + 320 + 288 = 1213 руб.
Самый дорогой товар, на который будет получена скидка, стоит 215 руб. В ответе нужно записать числа 1213 и 215.

Вложения к задаче
Показать ответ и решение

Сортируем по возрастанию. Первые 52 товара не участвуют в свкидке, так как меньше 70 рублей. Далее остается 948 товаров, которое участвуют в акции. Продавцу выгодно, чтобы по скидке покупались самые дешевые товары, поэтому по скидке пробьют первые 474 товара, а без скидке остальные 474, более дорогих, товара.

Посчитаем стоимость товаров со скидкой, они будут находится в диапазоне А53:А526: СУММ(А53:А526)*0,8 = 117108 руб.

Стоимость товаров, которые не попали под условия акции: СУММ(А1:А52) = 2234р.

Стоимость товаров, на которые не было скидки: СУММ(А527:А1000)=365575р.

Общая стоимость покупки: 2234+117108+365575=484917 руб.

Самый дорогой товар, на который была предоставлена скидка, находится в ячейке А526 = 539 руб.

В ответе запишем: 484917 539.

Ответ: 484917 539

Ошибка.
Попробуйте повторить позже

Задача 7#55490

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый третий товар стоимостью больше 100 рублей предоставляется скидка 30%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидка.
Входные данные.
Первая строка входного файла 8.txt содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа без пробела: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Пример входного файла:
7
125
50
490
215
144
320
190
В данном случае товар стоимостью 50 не участвует в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 490, 215, 125, 320, 190, 144. Тогда скидка предоставляется на товары стоимостью 125 и 144. Стоимость этих двух товаров со скидкой составит 188,3 руб., после округления — 189 руб. Общая стоимость покупки составит: 50 + 490 + 215 + 320 + 190 + 189 = 1454 руб.
Самый дорогой товар, на который будет получена скидка, стоит 144 руб. В ответе нужно записать числа 1454 и 144.

Вложения к задаче
Показать ответ и решение

Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.

Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по возрастанию.

Товаров, которые дешевле 100 рублей, либо стоят 100 рублей, здесь 94. 1000-94=906 — количество товаров со стоимостью 100 рублей и дороже, выделяем первую треть из них(302 товара) и применяем скидку. Начиная с A95 до A396 включительно, применяем формулу =A95*0,7 в соседнем столбце. Изначальная стоимость последнего товара, на который применили скидку — 397, это пойдёт в ответ вторым числом.

Считаем сумму: =СУММ(A1:A94)+СУММ(B95:B396)+СУММ(A397:A1000). С округлением в большую сторону, выходит 480786.

Ответ: 480786397

Ошибка.
Попробуйте повторить позже

Задача 8#55489

Продавец предоставляет покупателю, делающему большую закупку, скидку по следующим правилам:
— на каждый второй товар стоимостью больше 50 рублей предоставляется скидка 25%;
— общая стоимость покупки со скидкой округляется вверх до целого числа рублей;
— порядок товаров в списке определяет продавец и делает это так, чтобы общая сумма скидки была наименьшей.
По известной стоимости каждого товара в покупке необходимо определить общую стоимость покупки с учётом скидки и стоимость самого дорогого товара, на который будет предоставлена скидка.
Входные данные.
Первая строка входного файла 7.txt содержит число N — общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число — стоимость товара в рублях.
В ответе запишите два целых числа: сначала общую стоимость покупки с учётом скидки, затем стоимость самого дорогого товара, на который будет предоставлена скидка.
Пример входного файла:
6
125
50
490
215
144
320
В данном случае товар стоимостью 50 не участвует в определении скидки, остальные товары продавцу выгодно расположить в таком порядке цен: 490, 125, 215, 144, 320. Тогда скидка предоставляется на товары стоимостью 125 и 144. Стоимость этих двух товаров со скидкой составит 201,75 руб., после округления — 202 руб. Общая стоимость покупки составит: 50 + 490 + 215 + 320 + 202 = 1277 руб.
Самый дорогой товар, на который будет получена скидка, стоит 144 руб. В ответе нужно записать числа 1277 и 144.

Вложения к задаче
Показать ответ и решение

Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.

Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по возрастанию.

Товаров, которые дешевле 50 рублей, либо стоят 50 рублей, здесь 30. 1000-30=970 — количество товаров дороже 50 рублей, выделяем первую половину из них и применяем скидку. Начиная с A31 до A515 включительно, применяем формулу по типу =A31*0,75 в соседнем столбце. Изначальная стоимость последнего товара, на который применили скидку — 530, это пойдёт в ответ вторым числом.

Считаем сумму: =СУММ(A1:A30)+СУММ(B31:B515)+СУММ(A516:A1000). С округлением в большую сторону, выходит 478739.

Ответ: 478739530
Рулетка
Вы можете получить скидку в рулетке!