-
Notifications
You must be signed in to change notification settings - Fork 2
/
exe_079_greatest_common_divisor.py
52 lines (35 loc) · 1.44 KB
/
exe_079_greatest_common_divisor.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
"""
The program receives TWO POSITIVE INTEGER numbers from the USER
and returns (displaying it) their GREATEST COMMON DIVISOR.
"""
# START Definition of FUNCTIONS
def valutaIntegerPositive(numero):
if numero.isdigit():
if int(numero) > 0:
return True
return False
def computesGreatestCommonDivisor(number_1, number_2):
gcd = number_1
while (number_1 % gcd) != 0 or (number_2 % gcd) != 0:
gcd -=1
return gcd
# END Definition of FUNCTIONS
# Acquisition and Control of the DATA entered by the USER
number_1 = input("Enter the FIRST POSITIVE INTEGER NUMBER: ")
number_1_validated = valutaIntegerPositive(number_1)
number_2 = input("Enter the SECOND POSITIVE INTEGER NUMBER: ")
number_2_validated = valutaIntegerPositive(number_2)
while not(number_1_validated and number_2_validated):
print("Incorrect entry. Try again.")
number_1 = input("Enter the FIRST POSITIVE INTEGER NUMBER: ")
number_1_validated = valutaIntegerPositive(number_1)
number_2 = input("Enter the SECOND POSITIVE INTEGER NUMBER: ")
number_2_validated = valutaIntegerPositive(number_2)
# Conversion STR -> INT
number_1 = int(number_1)
number_2 = int(number_2)
# Computing the Greater Common Divisor of number_1 and number_2
gcd = computesGreatestCommonDivisor(number_1,number_2)
# Displaying the RESULT
print("The GREATEST COMMON DIVISOR of " + str(number_1) + " and " + \
str(number_2) + " is \"" + str(gcd) + "\".")