Автомат получает на вход какое-то число k (k < 100). По этому числу строится новое число M по таким правилам:
1. k умножается на число равное количеству десятков числа k ;
2. К получившемуся числу прибавляется количество единиц числа k;
3. Вывод получившегося числа M.
Например: число 32 преобразовывается в 98: у числа 32 ровно 3 десятка и 2 единицы, значит 32 умножится на 3, а затем увеличится на 2.
Укажите число при вводе которого автомат выдает 860.
Решение 1
Запишем исходное число k в таком виде: .
Тогда число M можно записать следующим образом:
Также понятно, что и
Заметим, что при 860 » class=»math» src=»/images/inform/reshen/reshen-236-6.svg» width=»auto»>.
Тогда пусть :
;
;
;
Исходное число .
Решение 2
for k in range(10, 100):
m = k
m *= int(str(k)[0])
m += int(str(k)[1])
if m == 860:
print(k)