Categories
//Сколько раз придется умножить?
Сколько раз придется умножить?
Напишите функцию. Она должна принимать число, цифры которого будут перемножаться между собой, пока не получится однозначное число. Функция должна вернуть количество операций умножения, которые потребовались для получения этого однозначного числа.
Примеры
multiplication(39) ➞ 3 # Потому что 3 * 9 = 27, 2 * 7 = 14, 1 * 4 = 4, а 4 - однозначное число. multiplication(999) ➞ 4 # 9 * 9 * 9 = 729, 7 * 2 * 9 = 126, 1 * 2 * 6 = 12, 1 * 2 = 2. multiplication(4) ➞ 0 # Потому что 4 - однозначное число.
Варианты решения
def multiplication(num): return 0 if num < 10 else 1 + multiplication(eval("*".join(str(num))))
from operator import * from functools import * def multiplication(num): if num <= 9: return 0 return 1 + multiplication(reduce(mul, map(int, str(num))))
import numpy as np def multiplication(num): if len(str(num)) == 1: return 0 return 1 + multiplication(np.prod(np.array([int(x) for x in str(num)])))
Бесплатные кодинг марафоны с ревью кода
Наш телеграм канал проводит бесплатные марафоны по написанию кода на Python с ревью кода от преподавателя
Скачать ×
- 7 views
- 0 Comment