М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
andreevik2003
andreevik2003
10.02.2022 13:53 •  Информатика

Когда учитель достиг просветления, он понял, что должен раздать свои богатства, причём сделать это следующим образом: в первый день разделить все свои золотые монеты на 8 равных частей (счастливое излишки (если таковые будут иметься) пожертвовать храму будды, оставить себе одну восьмую часть, остальные раздать бедным.

во второй день вновь разделить оставшиеся монеты на 8 частей и повторить вышеуказанные манипуляции. и продолжать так до тех пор, пока у него не останется так мало монет, что при делении их на 8 равных частей они все окажутся излишком.

оставшиеся монеты можно оставить себе. кроме того, учитель не тратит свои деньги (во всяком случае, в дни после просветления): его кормят ученики, а в быту он аскетичен.

хотя учитель знает, конечно, сколько у него золотых монет изначально, но он не может сообразить, сколько монет окажется в конце — всё-таки он учитель духовных практик, а не или программирования. ему.

иными словами, найдите первую цифру введённого числа при записи его в системе счисления с основанием 8.

формат ввода

одно целое число — изначальное количество монет у учителя.

формат вывода

одно целое число — количество монет, которое останется у учителя в конце.

пример

ввод

129

вывод

2

👇
Ответ:
kopustich1
kopustich1
10.02.2022

n = int(input())

while n % 8 != n:

   n //= 8

print(n)

Хоть и   это маловато за задачу на знание языка программирования, но этот код работает.

4,5(16 оценок)
Ответ:
shamalava210505
shamalava210505
10.02.2022
Добрый день, ученик! Давай разберемся с этой задачей по порядку.

В задаче описывается процесс, в котором учитель раздает свои золотые монеты бедным, следуя определенным правилам. При этом, задача заключается в том, чтобы найти первую цифру исходного числа, когда оно записывается в системе счисления с основанием 8.

Давайте представим, что изначально у учителя было x монет. Согласно условию задачи, в первый день учитель разделяет все свои монеты на 8 равных частей, то есть каждая часть составляет x / 8 монет. Затем он пожертвовует излишки (если они будут) храму будды, оставит себе одну восьмую часть, а остальные раздаст бедным.

Теперь у учителя остается x - (x / 8) - (x / 8) = x - (2 * (x / 8)) монет.

Во второй день, он снова разделит оставшиеся монеты на 8 равных частей, каждая составит (x - (2 * (x / 8))) / 8 монет. После разделения он снова пожертвует излишки (если они будут), оставит себе одну восьмую часть и остальное раздаст бедным. Таким образом, после второго дня у учителя останется

x - (2 * (x / 8)) - (x - (2 * (x / 8))) / 8 - (x - (2 * (x / 8))) / 8.

И так далее, процесс будет повторяться, пока у учителя не останется так мало монет, что при делении их на 8 равных частей, все окажутся излишком.

В задаче требуется найти первую цифру исходного числа после всех этих операций. Для этого нам нужно записать число в системе счисления с основанием 8 и выделить первую цифру.

Для примера, предположим, что изначально у учителя было 129 монет. Тогда поступим следующим образом:

1. Разделим исходное число на 8:

129 / 8 = 16 (остаток 1)

Таким образом, в первой позиции записи в восьмеричной системе счисления у нас будет цифра 1.

2. Повторим операцию с оставшимся числом:

16 / 8 = 2 (остаток 0)

Таким образом, во второй позиции записи в восьмеричной системе счисления у нас будет цифра 0.

Таким образом, первая цифра исходного числа 129 после всех операций будет 2.

Вернемся к задаче в целом. Теперь, чтобы найти первую цифру числа при записи его в системе счисления с основанием 8, мы можем использовать цикл, который будет выполнять деление числа на 8, пока результат деления не станет меньше 8. В каждой итерации мы будем записывать остаток от деления в массив, и в конце возьмем первый элемент массива как искомую цифру.

Вот пример программы на языке Python, которая решает данную задачу:

```python
number = int(input()) # Вводим исходное число

digits = [] # Массив для хранения остатков от деления

while number >= 8: # Пока число больше или равно 8
remainder = number % 8 # Находим остаток от деления
digits.append(remainder) # Добавляем остаток в массив
number = number // 8 # Делаем целочисленное деление для получения следующего числа

digits.append(number) # Добавляем последнее число в массив

first_digit = digits[-1] # Берем первый элемент массива

print(first_digit) # Выводим первую цифру
```

Надеюсь, я подробно и понятно объяснил решение данной задачи. Если у тебя возникнут вопросы, не стесняйся задавать!
4,7(31 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ