[SWIFT]최대공약수 (유클리드 호제법)

힐링힐링·2023년 8월 31일
0

알고리즘

목록 보기
1/7

프로그래머스 입문 문제

이게 왜 입문이고 레벨 0짜리 문제이지 ...?
난 그동안 레벨 -1 이였던것인가?

유클리드 호제법이란?

유클리드 라는사람이 최대공약수 구하는법을 알아낸것임

최대공약수 = 두 수를 소인수분해를 한 뒤, 두 수의 공통된 소인수를 모두 곱하면 최대공약수
최소공배수 = input1 *input2 / 최대공약수

예시

왼쪽이 예시 오른쪽이 코딩으로 옮기기

코딩

b값이 결국 최대 공약수

    //유클리드 호제법
    func gcd(_ a : Int, _ b : Int) -> Int {
        var a = a
        var b = b
        while b > 0
        {   
            if a%b != 0{
                //이전에 값
                var tmp = a
                //몫
                a = Int(b)
                //나머지
                b = Int(tmp % b)
            }else{
                break
            }

        }
        return b
        
    }

아니 근데 이게 왜 입문용이냐.. 레벨 1 ~2 될꺼같은데

profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글