(JAVA) 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수 만들기

2024. 10. 11. 18:24·JAVA 알고리즘

▶ 문제

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 
배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 
예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 
solution(3, 12)는 [3, 12]를 반환해야 합니다.

- 제한 사항 -
두 수는 1이상 1000000이하의 자연수입니다.

▶ 소스코드

#include <string>
#include <vector>
using namespace std;

// 유클리드 호제법을 이용한 최대공약수 함수
int gcd(int a, int b) {
    while (b != 0) {
        int temp = b;
        b = a % b;
        a = temp;
    }
    return a;
}

// 최소공배수는 두 수의 곱을 최대공약수로 나눈 값
int lcm(int a, int b, int gcd_value) {
    return (a * b) / gcd_value;
}

vector<int> solution(int n, int m) {
    int gcd_value = gcd(n, m); // 최대공약수 구하기
    int lcm_value = lcm(n, m, gcd_value); // 최소공배수 구하기
    return {gcd_value, lcm_value}; // 결과를 벡터로 반환
}

▶ 설명

  • gcd 함수는 유클리드 호제법을 사용하여 두 수의 최대공약수를 계산합니다.
  • lcm 함수는 주어진 두 수의 곱을 최대공약수로 나누어 최소공배수를 계산합니다.
  • solution 함수는 입력받은 두 수의 최대공약수와 최소공배수를 계산한 뒤, 이를 벡터에 넣어 반환합니다.
저작자표시 비영리 변경금지 (새창열림)

'JAVA 알고리즘' 카테고리의 다른 글

(JAVA) 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태로 출력하기  (0) 2024.10.10
(JAVA) 행렬 덧셈의 결과를 반환하는 함수 만들기  (0) 2024.10.07
(JAVA) 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수 만들기  (0) 2024.09.27
(JAVA) 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 만들기  (1) 2024.09.26
(JAVA) 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수  (1) 2024.09.25
'JAVA 알고리즘' 카테고리의 다른 글
  • (JAVA) 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태로 출력하기
  • (JAVA) 행렬 덧셈의 결과를 반환하는 함수 만들기
  • (JAVA) 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수 만들기
  • (JAVA) 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 만들기
lastdove
lastdove
lastdove 님의 블로그 입니다.
  • lastdove
    lastdove 님의 블로그
    lastdove
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Spring (16)
      • JAVA (17)
      • JAVA 알고리즘 (20)
      • Project (5)
      • SQL 문제풀이 (17)
      • Git&Linux (2)
      • Web development(입문) (2)
      • Sparta (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
lastdove
(JAVA) 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수 만들기
상단으로

티스토리툴바