<소스코드>
#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;
}
- 변수
int N : 입력받은 수
int target : 나눠지는 수
- 알고리즘
1) N이 1이면 그냥 끝냄
2) N/2(2가 가장 작은 소수)에서 2부터(내림차순으로) 반복문을 돌리면서 나눠진 몫을 출력해주고 i값을 target으로 바꿔준다.
3) 마지막 남은 수를 출력해준다.
- 배운점
x..
- 아쉬운점&느낀점
여기까진 스무스했다.