- Notifications
You must be signed in to change notification settings - Fork 366
/
Copy path5 recusrion problems.py
71 lines (43 loc) · 1.28 KB
/
5 recusrion problems.py
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 1..TO FIND FACTORIAL OF A NUMBER USING RECURSION
deffactorial(n):
assertn>=0andint(n)==n , "the number must be positive integer only"
ifn==0orn==1:
return1
else:
returnn*factorial(n-1)
print(factorial(4))
# 2..TO PRINT FIBONACCI SERIES
deffibonacci(n):
assertn>=0andint(n)==n , "only positive integers"
ifn==0orn==1:
returnn
else:
returnfibonacci(n-1) +fibonacci(n-2)
print(fibonacci(8))
# 3.. TO FIND IF THE GIVEN STRING IS PALINDROME OR NOT
defisPalindrome(strng):
iflen(strng)==0:
returnTrue
ifstrng[0]==strng[-1]:
returnisPalindrome(strng[1:-1])
else:
returnFalse
print((isPalindrome('naman')))
# 4..TO FIND THE SUM OF ALL DIGITS IN THE GIVEN NUMBER
defsum(n):
assertn>=0andint(n)==n , "only positive integers"
ifn==0:
return0
else:
returnint(n%10) +sum(int(n//10))
print(sum(11))
# 5..TO FIND THE POWER OF A NUMBER
defpower(base,exp):
assertexp>=0andint(exp)==exp , "power can only be positive integers"
if(exp==0):
return1
if(exp==1):
returnbase
else:
returnbase*power(base,exp-1)
print(power(2,5))