-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdz5.py
More file actions
45 lines (34 loc) · 1.39 KB
/
dz5.py
File metadata and controls
45 lines (34 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Задача 26: Напишите программу, которая на вход принимает два числа A и B, и возводит число А в целую степень B с помощью рекурсии.
# *Пример:*
# A = 3; B = 5 -> 243 (3⁵)
# A = 2; B = 3 -> 8
def stepen(a, b):
if b>0:
if (b == 1):
return (a)
if (b != 1):
return (a * stepen(a, b - 1))
else:
if b == -1:
return (1/a)
if (b != -1):
return (1/(a * stepen(a, b + 1)))
a = int(input("Введите число: "))
b = int(input("Введите его степень: "))
print("Результат возведения в степень равен:", stepen(a, b))
# Задача 28: Напишите рекурсивную функцию sum(a, b), возвращающую сумму двух целых неотрицательных чисел. Из всех арифметических операций допускаются только +1 и -1. Также нельзя использовать циклы.
# *Пример:*
# 2 2
# 4
# def sum(a, b):
# if b > 0:
# if b == 1:
# return a + 1
# return sum(a, b -1) +1
# else:
# if b == -1:
# return a - 1
# return sum(a, b +1) -1
# a = int(input())
# b = int(input())
# print(sum(a, b))