BEAKJOON

백준(11653번 소인수분해)풀이 C++

Shin_jisoo 2021. 1. 13. 15:24
728x90

www.acmicpc.net/problem/11653

 

11653번: 소인수분해

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

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <cmath> 

using namespace std;

int main() {
	int n;
	cin >> n;

	for (int i = 2;n > 1;) {
		if (n % i == 0) {
			cout << i << "\n";
			n /= i;
		}
		else {
			i++;
		}
	}

	return 0;
}

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <cmath> 

using namespace std;

int main() {
	int n;
	cin >> n;

	// 2부터 n이 더이상 나누어지지 않을 때까지
	for (int i = 2;n > 1;) {

		//나누어 떨어지면 출력한 후 나누기
		if (n % i == 0) {
			cout << i << "\n";
			n /= i;
		}

		//나누어 떨어지지 않는다면 i를 1증가
		else {
			i++;
		}
	}

	return 0;
}