Решить в паскале. покупатель должен заплатить в кассу s рублей. у него имеются 1, 2, 5, 10, 50, 100, 500-рублевые купюры. сколько купюр разного достоинства отдаст покупатель, если начнет платить с самых крупных?
PascalABC.NET 3.2, сборка 1383 от 09.02.2017 Внимание! Если программа не работает, обновите версию!
Используем "жадный" алгоритм. Он не всегда дает минимальное общее количество купюр, но зато простой в понимании.
begin var k:=Arr(500,100,50,10,5,2,1); // массив с достоинствами купюр 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.
Примеры Введите сумму: 3794 Уплатить: 7 шт. достоинством 500 руб. 2 шт. достоинством 100 руб. 1 шт. достоинством 50 руб. 4 шт. достоинством 10 руб. 2 шт. достоинством 2 руб.
Введите сумму: 507 Уплатить: 1 шт. достоинством 500 руб. 1 шт. достоинством 5 руб. 1 шт. достоинством 2 руб.
1) статья из газеты2) из-за ошибки журналиста известного журналиста считают умершим3) например, "температура кипящей воды - 100С"4) соответственно, "кипящая вода очень горячая"5) "скорый поезд из Новосибирска прибыл на Курский вокзал в 02.35 20 февраля 2010 года"6) "поезд приехал в Москву 20 числа"7) учебник 7 класса по математике для семиклассника8) учебник 7 класса по математике для первоклассника9) текст на русском языке для русскоговорящего человека10) иноязычный сленг для человека, не говорящего на этом языке
Если вы утром собираетесь выходить из дома, то актуальная информация - сколько градусов на улице, неактуальная - сколько процентов голосов набрал Уго Чавес на первых выборах (оно вам надо знать с утра пораньше?) . Достоверная информация - например, дата рождения в вашем паспорте, недостоверная - тетя Маня сказала, что ее двоюродная прабабка родилась 13 мая, но у тети Мани склероз и маразм и никаких документов от прабабки не осталось. Объективная - это платье черного цвета, необъективная - вам кажется, что оно вам не идет. Полная - Москва - столица России, неполная - коты бывают рыжие и белые (можно дополнить серыми, черными и т. п. - поэтому неполная) Полезная - формулы сокращенного умножения на экзамене по математике, бесполезная - сообщение в СМИ о весе и росте наследника британского престола. Понятная - Петербург в советское время назывался Ленинградом, непонятная - Васиной собаке дали СС (в принципе, для меня - владелицы чистопородного племенного кобеля - очень даже понятная, а вот для человека, далекого от собачьих выставок - нет).
Внимание! Если программа не работает, обновите версию!
Используем "жадный" алгоритм. Он не всегда дает минимальное общее количество купюр, но зато простой в понимании.
begin
var k:=Arr(500,100,50,10,5,2,1); // массив с достоинствами купюр
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.
Примеры
Введите сумму: 3794
Уплатить:
7 шт. достоинством 500 руб.
2 шт. достоинством 100 руб.
1 шт. достоинством 50 руб.
4 шт. достоинством 10 руб.
2 шт. достоинством 2 руб.
Введите сумму: 507
Уплатить:
1 шт. достоинством 500 руб.
1 шт. достоинством 5 руб.
1 шт. достоинством 2 руб.