코딩테스트

[C] GCD LCM

갓 시작한 코린이 2022. 5. 26. 02:01

문제


두 개의 자연수를 입력받아 최대공약수(GCD)와 최소공배수(LCM)를 출력하는 프로그램을 작성하시오.  

입력


첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000 이하의 자연수이며 사이에 한 칸의 공백이 주어진다.

 

출력


첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소공배수를 출력한다.

 

예제 입력

24 18

예제 출력

6
72

 

#include <stdio.h>

int get_gcd(int a,int b)
{
  if(b==0) return a;
  else return get_gcd(b,a%b);
}

int main() {

  //Please Enter Your Code Here
  int n,m;
  int gcd; //최대공약수
  int lcm; //최소공배수
  
  scanf("%d %d",&n,&m);
  gcd=get_gcd(n,m);
  lcm=n*m/gcd;
  printf("%d\n",gcd);
  printf("%d",lcm);
  

  return 0;
}

출처


한국정보올림피아드 지역본선 2004 중등부 1번, 고등부 1번  

'코딩테스트' 카테고리의 다른 글

[C] class president  (0) 2022.05.26
[C] attackrange  (0) 2022.05.26
[C] offset  (0) 2022.05.26
[C] array 3  (0) 2022.05.26
[C] 숫자 피라미드  (0) 2022.05.26