mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-24 05:21:09 +00:00
Program for finding the HCF,LCM and Palindrome using and recursion and non recursion
This commit is contained in:
parent
11d0d641ad
commit
768a39d832
22
Maths/find_hcf.py
Normal file
22
Maths/find_hcf.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Program to find the HCF of two Numbers
|
||||||
|
def find_hcf(num_1, num_2):
|
||||||
|
if num_1 == 0:
|
||||||
|
return num_2
|
||||||
|
if num_2 == 0:
|
||||||
|
return num_1
|
||||||
|
# Base Case
|
||||||
|
if num_1 == num_2:
|
||||||
|
return num_1
|
||||||
|
if num_1 > num_2:
|
||||||
|
return find_hcf(num_1 - num_2, num_2)
|
||||||
|
return find_hcf(num_1, num_2 - num_1)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
num_1 = 24
|
||||||
|
num_2 = 34
|
||||||
|
print('HCF of %s and %s is %s:' % (num_1, num_2, find_hcf(num_1, num_2)))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
17
Maths/find_lcm.py
Normal file
17
Maths/find_lcm.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
def find_lcm(num_1, num_2):
|
||||||
|
max = num_1 if num_1 > num_2 else num_2
|
||||||
|
while (True):
|
||||||
|
if ((max % num_1 == 0) and (max % num_2 == 0)):
|
||||||
|
break
|
||||||
|
max += 1
|
||||||
|
return max
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
num_1 = 12
|
||||||
|
num_2 = 76
|
||||||
|
print(find_lcm(num_1, num_2))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
31
other/palindrome.py
Normal file
31
other/palindrome.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# Program to find whether given string is palindrome or not
|
||||||
|
def is_palindrome(str):
|
||||||
|
start_i = 0
|
||||||
|
end_i = len(str) - 1
|
||||||
|
while start_i < end_i:
|
||||||
|
if str[start_i] == str[end_i]:
|
||||||
|
start_i += 1
|
||||||
|
end_i -= 1
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
# Recursive method
|
||||||
|
def recursive_palindrome(str):
|
||||||
|
if len(str) <= 1:
|
||||||
|
return True
|
||||||
|
if str[0] == str[len(str) - 1]:
|
||||||
|
return recursive_palindrome(str[1:-1])
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
str = 'ama'
|
||||||
|
print(recursive_palindrome(str.lower()))
|
||||||
|
print(is_palindrome(str.lower()))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user