В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
komkov2
komkov2
04.06.2023 05:05 •  Информатика

Составить программу решающую следующую : вы покупаете товар,и у вас имеются купюры номиналом 10,50,100,1000 рублей.наберите необходимую сумму товара в n рублей так,чтобы она состояла из минимального количества купюр

Показать ответ
Ответ:
timdenir69
timdenir69
05.10.2020 13:12
Напишу все же с жадным)))

// PascalABC.NET 3.2, сборка 1383 от 09.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var k:=Arr(1000,100,50,10); // массив с достоинствами купюр
  var s:=ReadInteger('Введите сумму:'); // сумма к оплате
  Writeln('Уплатить:');
  var i:=0;
  while s>0 do begin
    var p:=s div k[i];
    if p>0 then Writeln(p,' шт. достоинством ',k[i],' руб.');
    s:=s mod k[i]; i+=1
    end;
end.

Пример
Введите сумму: 1630
Уплатить:
1 шт. достоинством 1000 руб.
6 шт. достоинством 100 руб.
3 шт. достоинством 10 руб.
0,0(0 оценок)
Ответ:
Элис6666666666
Элис6666666666
05.10.2020 13:12
На Python 2.X:

# coding: utf-8

notes = (10, 50, 100, 1000)

def in_notes(notes, num):
    d = {}
    m = num
    for note in sorted(notes, reverse=True):
        d[note], m = divmod(m, note)
    return d

n = input("Введите сумму: ")
print "В купюрах:"
for note, count in sorted(in_notes(notes, n).iteritems()):
    if count == 0:
        continue
    print "{}: x{}".format(note, count)
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота