Skip to content

Commit 768a39d

Browse files
author
Shivam Arora
committed
Program for finding the HCF,LCM and Palindrome using and recursion and non recursion
1 parent 11d0d64 commit 768a39d

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

Maths/find_hcf.py

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Program to find the HCF of two Numbers
2+
def find_hcf(num_1, num_2):
3+
if num_1 == 0:
4+
return num_2
5+
if num_2 == 0:
6+
return num_1
7+
# Base Case
8+
if num_1 == num_2:
9+
return num_1
10+
if num_1 > num_2:
11+
return find_hcf(num_1 - num_2, num_2)
12+
return find_hcf(num_1, num_2 - num_1)
13+
14+
15+
def main():
16+
num_1 = 24
17+
num_2 = 34
18+
print('HCF of %s and %s is %s:' % (num_1, num_2, find_hcf(num_1, num_2)))
19+
20+
21+
if __name__ == '__main__':
22+
main()

Maths/find_lcm.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
def find_lcm(num_1, num_2):
2+
max = num_1 if num_1 > num_2 else num_2
3+
while (True):
4+
if ((max % num_1 == 0) and (max % num_2 == 0)):
5+
break
6+
max += 1
7+
return max
8+
9+
10+
def main():
11+
num_1 = 12
12+
num_2 = 76
13+
print(find_lcm(num_1, num_2))
14+
15+
16+
if __name__ == '__main__':
17+
main()

other/palindrome.py

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Program to find whether given string is palindrome or not
2+
def is_palindrome(str):
3+
start_i = 0
4+
end_i = len(str) - 1
5+
while start_i < end_i:
6+
if str[start_i] == str[end_i]:
7+
start_i += 1
8+
end_i -= 1
9+
else:
10+
return False
11+
return True
12+
13+
14+
# Recursive method
15+
def recursive_palindrome(str):
16+
if len(str) <= 1:
17+
return True
18+
if str[0] == str[len(str) - 1]:
19+
return recursive_palindrome(str[1:-1])
20+
else:
21+
return False
22+
23+
24+
def main():
25+
str = 'ama'
26+
print(recursive_palindrome(str.lower()))
27+
print(is_palindrome(str.lower()))
28+
29+
30+
if __name__ == '__main__':
31+
main()

0 commit comments

Comments
 (0)