Задача Python по алгоритму
Создайте программу, в которой рекурсивная функция ReverseNumber()
представляет числа, вводимые пользователем в обратном порядке.
Алгоритм работы
1. Запустите программную среду.
2. Импорт модуль math.
3. Создайте рекурсивную функцию:
def ReverseNumber(num):
if num<0:
return -1
if num==0:
return 0
n_digit = 0
num2 = num
while num2>0:
n_digit = n_digit+1
num2 = num2//10
t = num%10
res = t * int(math.pow(10, n_digit-1))
return res + ReverseNumber(num//10)
4. Пропишите строку для ввода числа пользователем.
5. Вызовите функцию ReverseNumber и выведите ее значение.
import math
def ReverseNumber(num):
if num < 0:
return -1
if num == 0:
return 0
n_digit = 0
num2 = num
while num2 > 0:
n_digit = n_digit + 1
num2 = num2 // 10
t = num % 10
res = t * int(math.pow(10, n_digit - 1))
return res + ReverseNumber(num // 10)
num = int(input("Введите число: "))
print("Число в обратном порядке: ", ReverseNumber(num))
Ваш код не является рекурсивным. Рекурсивная функция вызывает саму себя внутри своего тела. Вот пример рекурсивной функции для вычисления количества цифр в десятичном натуральном числе `a`:
```python
def count_digits(a):
if a == 0:
return 0
else:
return 1 + count_digits(a // 10)
```
Эта функция работает следующим образом: если `a` равно 0, то количество цифр равно 0. В противном случае мы прибавляем 1 к результату вызова этой же функции для `a`, деленного нацело на 10 (что убирает последнюю цифру из числа). Таким образом, функция вызывает саму себя до тех пор, пока `a` не станет равным 0.