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

Посол государства, в котором используется алфавит из 1024 знаков,составил ноту протеста из 2 страниц,причем на каждой странице по 100 строк и в строке по 75 символов.Определить информационный обьект реферата С дано вопрос решение

Показать ответ
Ответ:
belikvlad14
belikvlad14
18.06.2022 03:12
Будем рассуждать так: пусть сумма, которую надо разменять, равна некоторому числу amount. Дадим сначала максимальное количество пятерок (но так, чтобы общая сумма пятерок не превосходила суммы, которую надо разменять). Если нам удалось таким образом разменять всю сумму - победа! - иначе до общей суммы не хватит 1, 2, 3 или 4 рубля.

Самый простой случай из оставшихся - если осталось отдать 3 рубля. В таком случае выдаём оставшуюся трёшку и радуемся выполненной задаче.

Иначе придется изменять количество выданных пятерок - при "жадном" выборе решения не получилось.
- Попробуем убрать одну пятерку. Если оставалось выдать 1 рубль или 4 рубля - теперь нужно выдать 5+1=6 рублей или 5+4=9 рублей соответственно, но это можно сделать только трёшками.
- Попробуем убрать две пятерки. Если оставалось выдать 2 рубля, то теперь надо выдать 12 рублей, что опять-таки можно сделать трёшками.

Резюмируем.
Если amount делится на 5, то надо выдать (amount//5) пятерок и 0 трёшек.
Если amount дает остаток 1 при делении на 5, то надо выдать (amount//5 - 1) пятерок и 2 трёшки.
Если amount дает остаток 2 при делении на 5, то надо выдать (amount//5 - 2) пятерок и 4 трёшки.
Если amount дает остаток 3 при делении на 5, то надо выдать (amount//5) пятерок и 1 трёшку.
Если amount дает остаток 4 при делении на 5, то надо выдать (amount//5 - 1) пятерок и 3 трёшки.

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

Для небольшого удобства в программе этот выбор записан немного по-другому. Код во вложении.
0,0(0 оценок)
Ответ:
fg4ne
fg4ne
15.05.2020 08:14
1) В цикле Repeat Until идет проверка, что число введено в диапазоне [0..200}
var
i,n:integer;
a:longint;
p:real;
begin
p:=1;
Repeat
    readln(n);
Until (n>=0)and(n<=200);
for i:=1 to n do
   begin
        readln(a);
        p:=p*a;
   end;
writeln(p);
end.

2)
var
i,n:integer;
a,max:longint;
begin
Repeat
    readln(n);
Until (n>=0)and(n<=200);
for i:=1 to n do
   begin
        readln(a);
            if a>max then
                max:=a;
   end;
writeln(max);
end.
3)
var
i,n:integer;
a,min:longint;
begin
Repeat
    readln(n);
Until (n>=0)and(n<=200);
for i:=1 to n do
   begin
        readln(a);
            if a<min then
                min:=a;
   end;
writeln(min);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота