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

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

Показать ответ
Ответ:
KirochkaMirina
KirochkaMirina
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 оценок)
Ответ:
agnesa9890
agnesa9890
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-бота