Имеется программный фрагмент алгоритма поиска наименьшего из двух чисел, двоеточие заменяем соответствующим программным элементом .print («1 sandy engiz») х = вход ())
print ("2 песчаных энджиза")
y = вход ())
х <у:
к = х
:
к = у
print ("человек", k)
Самый простой случай из оставшихся - если осталось отдать 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 трёшки.
Такой алгоритм позволяет дать размен минимальным количеством монет.
Для небольшого удобства в программе этот выбор записан немного по-другому. Код во вложении.
8 Мбит/с = 8.388.608 бит/с
1) 8388608 / 2 = 4194304
2) 4194304 / 2 = 2097152
3) 2097152 / 2 = 1048576
4) 1048576 / 2 = 524288
5) 524288 / 2 = 262144
6) 262144 / 2 = 131072
7) 131072 / 2 = 65536
8) 865536 / 2 = 32768
9) 32768 / 2 = 16384
10) 16384 / 2 = 8192
11) 8192 / 2 = 4096
12) 4096 / 2 = 2048
13) 2048 / 2 = 1024 =
Прибавим в степень еще действия выше, получим -
Для того, чтобы найти размер файла умножаем скорость на время, получаем: бит
Переводим в мегабайты, учитывая, что Мб:
Мб
ответил так, чтобы можно было решать такие задачи на бумаге. Т.е. путем представления цифр в виде "2 в степени"