백준 약수 구하기 C++

박원빈·2024년 4월 24일

알고리즘 🤔

목록 보기
2/26
post-thumbnail


소스코드 + 코드 해설(주석)

#include <iostream>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    // 약수가 몇 번째인지 세어주는 count 변수
    int count = 0;
    // 결과를 출력해주는 result 변수
    int result = 0;
    // 약수는 n 이상의 숫자로는 나올수가 없으므로 n만큼 반복
    for (int i = 1; i <= n; i++) {
        // 약수면 count++
        if (n % i == 0) {
            count++;
        }
        // 만약 m번째 약수라면, result에 현재 약수 재할당, 반복문 중단
        if (count == m) {
            result = i;
            break;
        }
    }
    // 만약 m번째 약수가 없으면 0 출력, 아니라면 result 출력
    if (count < m) {
        cout << 0;
    } else {
        cout << result;
    }
}

0개의 댓글