Строится восьмеричная запись числа N.2. Далее эта запись обрабатывается
Условие
На вход алгоритма подаётся натуральное число Алгоритм строит по нему новое число R следующим образом.1. Строится восьмеричная запись числа N.2. Далее эта запись обрабатывается по следующему правилу:— если число N делится на 7, то к восьмеричной записи числа справа дописываются его последние две цифры;— если число N не делится на 7, то остаток от деления числа N на 7 умножается на семь, а затем полученный результат в восьмеричном виде приписывается слева к восьмеричной записи.
Полученная таким образом запись является восьмеричной записью искомого числа R.Например, для исходного числа 21₁₀ = 25₈ результатом является число 2525₈ = 1365₁₀, для исходного числа 22₁₀ = 26₈ результатом является число 726₈ = 470₁₀.Укажите такое число N, для которого число R является наименьшим среди чисел, превышающих 500. В ответе это число запишите в десятичной системе счисления.В ответе запишите это число в десятичной системе счисления.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python.otv = c = 10**10for n in range(20,2000): s = oct(n)[2:] if n%7==0: s = s + s[-2:] else: s = oct((n%7)7)[2:] + s r = int(s,8) if r > 500 and c > r: otv = n c = rprint(otv) Приведём другое решение на языке Python.f = lambda n: oct(7v)[2:] + oct(n)[2:] if (v:=n%7) else (t:=oct(n)[2:]) + t[-2:]spi = sorted([(v, n) for n in range(21,
Осталось ещё 4 шага
if (v:=int(f(n), 8)) > 500])print(spi[0][1])…
Приведём решение Сергея Донец на…
+ t;var r := Dec(t, 8);if (r >…
and (r < minR) thenbeginminR := r;bestN :=…
Бесплатно · займёт минуту