inblog logo
|
jjack1
    알고리즘Java

    [JAVA] 8. 필수 알고리즘 Ⅲ. 최대공약수(GCD)

    최재원's avatar
    최재원
    Feb 08, 2025
    [JAVA] 8. 필수 알고리즘 Ⅲ. 최대공약수(GCD)
    Contents
    1. 최대공약수 알고리즘절차적 노가다 코드반복문과 유클리드 호제법재귀함수와 유클리드 호제법배열을 이용하여, 비교하여 처리하시오2. 과일을 공평하게 나누기1. 기본문제2. 심화문제
    💡

    유클리드 호제법

    두 수를 서로 나누는 것, 나머지가 0이 되는 몫이 최대공약수다.
    큰 수에서 작은 수를 나눈다.
     
    10과 8이 있다.
    1. 10 % 8 = 2
    1. 8 % 2 = 0
    최대공약수는 2
     
    notion image
    시간복잡도 O(logN)O(logN)O(logN)

    1. 최대공약수 알고리즘

    ❗
    12와 18의 최대공약수를 구하시오!.
    12의 약수: 1, 2, 3, 4, 6, 12 18의 약수: 1, 2, 3, 6, 9, 18 공통 약수: 1, 2, 3, 6 최대 공약수 : 6

    절차적 노가다 코드

    정답

    반복문과 유클리드 호제법

    정답

    재귀함수와 유클리드 호제법

    정답

    배열을 이용하여, 비교하여 처리하시오

    정답

    2. 과일을 공평하게 나누기

    1. 기본문제

    사과 12개를 3명이서 공평하게 나누려면 몇 개씩 나누면 될까?
    정답

    2. 심화문제

    사과 12개 🍎, 바나나 18개 🍌, 귤 24개 🍊을 같은 개수로 최대한 공평하게 나눌 때, 한 사람당 받을 개수는?
    정답
     
     
    Share article
    Contents
    1. 최대공약수 알고리즘절차적 노가다 코드반복문과 유클리드 호제법재귀함수와 유클리드 호제법배열을 이용하여, 비교하여 처리하시오2. 과일을 공평하게 나누기1. 기본문제2. 심화문제

    jjack1

    RSS·Powered by Inblog