백준 11653_소인수분해.cpp

hello_hidi·2021년 7월 5일
0

baekjoon_C++

목록 보기
22/33
post-thumbnail

<소스코드>

#include <iostream>
using namespace std;
int main(){
    int N;
    cin >> N;
    int target = N;
    if(N == 1){
        return 0;
    }else{
        for(int i = N/2; i >= 2; i--){
            if(target%i == 0){
            	cout << target/i << " ";
                target = i;
            }
        }
	}
	cout << target << endl;
	return 0;
}
  1. 변수
    int N : 입력받은 수
    int target : 나눠지는 수
  1. 알고리즘
    1) N이 1이면 그냥 끝냄
    2) N/2(2가 가장 작은 소수)에서 2부터(내림차순으로) 반복문을 돌리면서 나눠진 몫을 출력해주고 i값을 target으로 바꿔준다.
    3) 마지막 남은 수를 출력해준다.
  1. 배운점
    x..
  1. 아쉬운점&느낀점
    여기까진 스무스했다.
profile
안뇽희디

0개의 댓글