본문 바로가기

Algorithm/Math

(C++) - 백준(BOJ) 11653번 : 소인수분해

반응형

https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

간단한 수학문제였습니다.

 

 

풀이방법

 1. n % cnt 의 결과가 양수 즉, 나머지가 남는다면 cnt를 나누어 떨어질때까지 1씩 증가시킵니다.

 

 2. cnt를 출력합니다.

 

Code

#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin >> n;
    int cnt = 2;
    while(n > 1){
        int ret = n % cnt;
        if(ret) while((n % cnt)) cnt++;
        n /= cnt;
        cout << cnt << '\n';
    }
}