Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80

Как купить носки с выгодой

03.12.2023, 19:29. Показов 2399. Ответов 33

Студворк — интернет-сервис помощи студентам
Пара носков стоит 10 руб. 50 коп., связка (12 пар) стоит 102 руб. 50 коп., а коробка (12 связок) стоит 1140 руб.

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

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 109) – число пар носков, которые желает купить покупатель.

Выходной файл OUTPUT.TXT должен содержать три числа (первое – количество коробок, второе – связок, третье – пар носков), разделенные пробелами.

Примеры
11
0 1 0

500
3 5 8
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2023, 19:29
Ответы с готовыми решениями:

как заставить мужчину убирать грязные носки?
Встречный вопрос: как заставить мужчину убирать грязные носки? :D

Замерить толщину покрытия стола носками
Задание с одного сайта по дистанционному обучению. Помогите разобраться, что именно тут нужно делать. Не могу понять саму суть задачи.. ...

Замерить толщину покрытия стола носками
Носки Имеется стол длины L . На столе разложено N носков так, что никакой носок не вылезает за границы стола. Далее имеется умный...

33
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 20:34
Суть задачи в том, что за те же деньги можно купить чуть больше.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 20:42
одна пара стоит 10,5
одна пара из связки стоит 8,5
одна пара из коробки стоит 7,91(6)

Как видно, в меру возможности и необходимости нужно предпочесть коробки, потом связки и только потом отдельные пары.
0
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80
03.12.2023, 20:52  [ТС]
Royal_X, thyrex,
Python
1
2
3
4
5
6
7
8
9
10
11
12
a = int(input())
e = a % 12
m = 0
f = 0
if e in [10, 11]:
    e = 0
    m = a // 12 + 1
else:
    m = a // 12
f = m // 12
m = m % 12
print(f, m, e)
Вот мой код, который не работает
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 20:53
Цитата Сообщение от IlyaTop Посмотреть сообщение
11
0 1 0
а вот это уже интересно. Т.е. получается, что можно покупать больше, чем нужно покупателю
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 20:57
Royal_X, я об этом выше и писал.

IlyaTop, там другой принцип. Надо просчитывать сумму перед тем, как отдавать предпочтение.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:07
Цитата Сообщение от thyrex Посмотреть сообщение
там другой принцип. Надо просчитывать сумму перед тем, как отдавать предпочтение.
Не обязательно. Просто можно учесть некоторые моменты, что, например, если даже осталось не 12, а 10 или 11 пар, то мы все равно берем связку (и пусть останется 1 или 2 лишних пар, но так дешевле).

Добавлено через 4 минуты
thyrex, как-то так

Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input('N = '))
 
a = n // 144
b = (n - a * 144) // 12
t = n - a * 144 - b * 12
if t >= 10:
    b += 1
    c = 0
else:
    c = t
print(a, b, c)
Особо не проверял, код как идея
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 21:07
Royal_X, хозяин - барин. Просчитывайте остатки. Автор темы в своём решении пошёл по Вашему пути, но что-то пошло не так
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:08
thyrex, напиши свой вариант с суммой, интересно посмотреть на него
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 21:14
Своё решение можете легко проверить на acmp. Задача оттуда.

Добавлено через 42 секунды
Я её когда-то сдал ещё на Паскале.

Добавлено через 4 минуты
Да и не просто так ведь указаны стоимости разных вариантов
1
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80
03.12.2023, 21:18  [ТС]
Royal_X, не подходит почему-то
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:27
Цитата Сообщение от thyrex Посмотреть сообщение
Да и не просто так ведь указаны стоимости разных вариантов
на самом деле, даже мой код с остатками, хоть прямо не использует стоимости, но косвенно их учитывает:
- именно стоимости говорят о том, как выставить приоритет
- именно стоимости говорят, что если остается даже не 12, а 10 или 11, то нужно брать связку

Добавлено через 6 минут
Цитата Сообщение от IlyaTop Посмотреть сообщение
не подходит почему-то
а не показывает на каком тесте не проходит?
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 21:28
Royal_X, не забывайте, что есть ещё коробки )))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:30
Цитата Сообщение от thyrex Посмотреть сообщение
не забывайте, что есть ещё коробки )))
да, есть такое дело. Коробку нужно брать еще в некоторых случаях, когда даже осталось меньше 144
0
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80
03.12.2023, 21:30  [ТС]
Royal_X, на четвертом тесте не проходит
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:36
Лучший ответ Сообщение было отмечено Royal_X как решение

Решение

IlyaTop, вроде, когда остается 134 - 144, то берем коробку

Добавлено через 3 минуты
IlyaTop, проверь это

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = int(input('N = '))
 
a = n // 144
t1 = n - a * 144
if t1 >= 134:
    a += 1
    b = 0
    c = 0
else:
    b = t1 // 12
    t2 = n - a * 144 - b * 12
    if t2 >= 10:
        b += 1
        c = 0
    else:
        c = t2
print(a, b, c)
0
2 / 2 / 0
Регистрация: 02.12.2023
Сообщений: 80
03.12.2023, 21:41  [ТС]
Royal_X, все верно, только не совсем понял, как это получилось
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 21:44
Цитата Сообщение от IlyaTop Посмотреть сообщение
только не совсем понял, как это получилось
принцип в том, что
Цитата Сообщение от Royal_X Посмотреть сообщение
в меру возможности и необходимости нужно предпочесть коробки, потом связки и только потом отдельные пары
из-за того, что
Цитата Сообщение от Royal_X Посмотреть сообщение
одна пара стоит 10,5
одна пара из связки стоит 8,5
одна пара из коробки стоит 7,91(6)
но поскольку
Цитата Сообщение от Royal_X Посмотреть сообщение
можно покупать больше, чем нужно покупателю
пришлось внести некоторые корректировки
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
03.12.2023, 22:13
Метод подбора - занятный метод. Предлагаете выкинуть из входных данных стоимость? Хотел бы я на Ваше решение посмотреть, если бы стоимость тоже менялась.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6234 / 2941 / 1047
Регистрация: 01.06.2021
Сообщений: 10,923
03.12.2023, 23:05
Цитата Сообщение от thyrex Посмотреть сообщение
Предлагаете выкинуть из входных данных стоимость?
Стоимости были учтены во время разработки алгоритма. Больше они не нужны.

Цитата Сообщение от thyrex Посмотреть сообщение
Метод подбора - занятный метод.
Какой подбор? Всё рассчитано математически.

Цитата Сообщение от thyrex Посмотреть сообщение
Хотел бы я на Ваше решение посмотреть, если бы стоимость тоже менялась.
Тогда это было бы другое решение

thyrex, если все же захотите, опубликуйте свой код, посмотрим на временную и пространственную сложность вашего алгоритма
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2023, 23:05
Помогаю со студенческими работами здесь

Носки задача по программированию
Носки Имеется стол длины L . На столе разложено N носков так, что никакой носок не вылезает за границы стола. Далее имеется умный...

Олимпиада (носки и шахматы)
Два интересных, но сложных для меня задания. 1. В одной военной части было принято революционное решение перейти от портянок к носкам....

Решить сортировкой задачу про носки
Задача №1429. Носки Имеется стол длины L. На столе разложено N носков так, что никакой носок не вылезает за границы стола. Далее имеется...

Нужно ли под кроссовки обувать носки?
Всем доброго времени суток. Так получилось, что я остановил свой выбор на кроссовках и джинсах. Хоть и надеваю каждый день чистые...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru