최대 공약수 최소 공부새 파이썬
#-*-coding: utf-8 -*-
# 두 수를 입력 받아서 최대공약수, 최소공배수를 구하고 종료
class gcdLcm:
def __init__(self):
self.Gcd_type_int = 0
self.Lcm_type_int = 0
self.val1_type_int = 0
self.val2_type_int = 0
def dataInput(self):
self.val1_type_int = int(input("val1 input : "))
self.val2_type_int = int(input("val2 input : "))
def Greatest_Common_Divisor(self):
tmp_large = 0
tmp_small = 0
tmp_q = 0
tmp_remainder = 0
print(self.val2_type_int, self.val1_type_int)
if self.val1_type_int < self.val2_type_int:
tmp_large = self.val2_type_int
tmp_small = self.val1_type_int
elif self.val1_type_int < self.val2_type_int:
tmp_large = self.val1_type_int
tmp_small = self.val2_type_int
else:
tmp_large = self.val1_type_int
tmp_small = self.val2_type_int
while True:
tmp_a = tmp_large//tmp_small
tmp__remainder = tmp_large % tmp_small
if tmp__remainder == 0:
break
tmp_large = tmp_small
tmp_small = tmp__remainder
self.Gcd_type_int = tmp_small
print("{} 와 {} 의 최대 공약수(Greatest Common Divisor)는 {} 이다"
.format(self.val2_type_int,self.val1_type_int,self.Gcd_type_int))
def Least_Common_Divisor(self):
self.Lcm_type_int += self.Gcd_type_int * (self.val1_type_int//self.Gcd_type_int )*(self.val2_type_int//self.Gcd_type_int)
print("{} 와 {} 의 최소 공배수(Least Common Divisor)는 {} 이다"
.format(self.val2_type_int,self.val1_type_int,self.Lcm_type_int))
def main():
stu = gcdLcm()
stu.dataInput()
stu.Greatest_Common_Divisor()
stu.Least_Common_Divisor()
if __name__ == "__main__":
main()