Язык программирования - python
Когда Учитель достиг он понял, что должен раздать свои богатства, причём сделать это следующим образом: в первый день разделить все свои золотые монеты на 8 равных частей (счастливое число!), излишки (если таковые будут иметься) пожертвовать храму Будды, оставить себе одну восьмую часть, остальные раздать бедным.
Во второй день вновь разделить оставшиеся монеты на 8 частей и повторить вышеуказанные манипуляции. И продолжать так до тех пор, пока у него не останется так мало монет, что при делении их на 8 равных частей они все окажутся излишком.
Оставшиеся монеты можно оставить себе. Кроме того, Учитель не тратит свои деньги (во всяком случае, в дни после его кормят ученики, а в быту он аскетичен.
Хотя Учитель знает, конечно, сколько у него золотых монет изначально, но он не может сообразить, сколько монет окажется в конце — всё-таки он Учитель духовных практик, а не математики или программирования ему.
Иными словами, найдите первую цифру введённого числа при записи его в системе счисления с основанием 8.
Формат ввода
Одно целое число — изначальное количество монет у Учителя.
Формат вывода
Одно целое число — количество монет, которое останется у Учителя в конце.
(см. объяснение)
Объяснение:
Данная задача легче решается решается на Pascal, чем на Python:
##
var a: array of integer := ReadArrInteger('Введите элементы массива через пробел >',ReadInteger('Введите кол-во элементов массива >'));
println('Минимальное среди положительных: ',a.Where(x->x>0).Sorted.ElementAt(0));
println('Максимальное среди отрицательных: ',a.Where(x->x<0).Sorted.Reverse.ElementAt(0));
Три строчки кода (две из которых - это красивый вывод) дают желанный результат. Пример работы программы можно найти в прикрепленном к решению файле.
Задание выполнено!