-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path31_QUestion.py
63 lines (51 loc) · 1.69 KB
/
31_QUestion.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
# Q31). Python Program to find GCD of two numbers without using recursion.
def prime(num):
isprime = True
for i in range(2,num):
if(num % i == 0):
isprime = False
break
if(isprime == True):
return num
def prime_factors(num):
ans = prime(num)
lst_prime = []
for i in range(2,num):
if(prime(i) == None):
continue
lst_prime.append(prime(i))
return lst_prime
def GCD(num1,num2):
res1 = prime_factors(num1)
res2 = prime_factors(num2)
print(res1)
print(res2)
lst_max_factor = []
if(len(res1)> len(res2)):
for i in range(0,len(res2)):
# print(f"{i}:- ")
for j in range(0,i+1):
# print(res1[i], res2[j])
if(res1[i] == res2[j]):
lst_max_factor.append(res1[i])
lst_max_factor.append(res2[j])
# print(f"{res1[i]} {res2[j]}")
if(len(res1) < len(res2)):
for i in range(0,len(res1)):
for j in range(0,i+1):
if(res1[j] == res2[i]):
lst_max_factor.append(res1[j])
lst_max_factor.append(res2[i])
# print(f"{res1[i]} {res2[j]}")
elif(len(res1) == len(res2)):
for i in range(0,len(res1)):
for j in range(0,i+1):
if(res1[j] == res2[i]):
lst_max_factor.append(res1[j])
lst_max_factor.append(res2[i])
lst_max_factor = set(lst_max_factor)
lst_max_factor = list(lst_max_factor)
print(lst_max_factor)
num1 = int(input("Enter number 1 : "))
num2 = int(input("Enter number 2 : "))
GCD(num1,num2)