두 자연수를 입력받아 최대공약수(GCM), 최소공배수(LCM)를 구하는 순서도를 작성하라.
-사용되는 변수
∴ A, B : 입력 자연수
∴ L : 제수 변수
∴ S : 피제수 변수
∴ N : 나머지
∴ GCM : 최대공약수
∴ LCM : 최소공배수
- 처리조건
구하고자 하는 GCM, LCM은 자연수 범위로 한정한다.
입력되는 두 자연수의 크기는 A가 B보다 크다고 가정한다.
나머지 값은 mod() 함수를 사용한다. (Mod()함수 예) mod(14, 3) ⇒ 결과 2
a=int(input())
b=int(input())
L=int(a)
S=int(b)
N=1
while (N != 0):
N=L%S
if N==0: break
L=S
S=N
GCM=S
LCM=int(a*b/GCM)
print(GCM, LCM)
함수로 작성된 예제
def gcd(a, b):
if a < b:
(a, b) = (b, a)
while b != 0:
(a, b) = (b, a % b)
return a
L=int(input())
S=int(input())
GCM=gcd(L,S)
LCM=L*S/GCM
print(GCM, LCM)
C언어 자료구조 DFS (0) | 2021.12.03 |
---|---|
C언어 자료구조 BFS (0) | 2021.12.03 |
Visual Basic 2019 날짜를 파일명으로 MDB 생성 (0) | 2021.05.24 |
고등학교 자료구조 - C언어로 구현한 원형큐(Queue) (0) | 2019.05.16 |
파이썬과 노트패드의 연결 (0) | 2017.10.25 |