공부/백준(C++) - 2022~

백준 11653번: 소인수분해 [C++]

상연 2022. 1. 19. 11:36

목차

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

     

    11653번: 소인수분해

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

    www.acmicpc.net

    코드

    #include <iostream>
    using namespace std;
    
    int main() {
    	//정수 N이 주어졌을때 소인수분해하는 프로그램
    	int n;
    	cin >> n;
    	
    	while(n > 1){
    		for(int i=2; i<= n; i++){
    			if(n % i == 0){
    				cout << i << endl;
    				n /= i;
    				break;
    			}
    		}
    		
    	}
    }

     

    설명

    실제로 소인수 분해하듯이 2부터 시작해서 주어진 수가 1이 될때까지 쪼개주면 된다.