728x90
0. [c++] 백준 - |
https://www.acmicpc.net/problem/11653
1. 풀이 |
입력받는 정수(N)의 크기가 10,000,000이여서 O(N)의 구현을 해보았다.
밑의 함수에서 i가 소수인지 고려를 하지 않고 진행하는 것을 볼 수 있다.
이렇게 한 이유는 소수의 배수인 경우 이미 앞에서 전처리가 끝난 상황이기 때문에 while문으로 넘어가는 경우가 발생하지 않아 이렇게 구현을 해보았다.
2. 소스코드 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include<iostream> #include<algorithm> #include<vector> using namespace std; typedef unsigned long long ull; int arr[51]; int prime[101]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; if (N == 1) return 0; else { for (int i = 2; i <= N; i++) { while (N % i == 0) { cout << i << "\n"; N /= i; } } } return 0; } | cs |
3. 참고 |
질문이나 지적 있으시면 댓글로 남겨주세요~
도움 되셨으면 하트 꾹!
'<백준> > |c++| easy' 카테고리의 다른 글
[c++] 백준 11399 - ATM(그리디 알고리즘) (0) | 2019.08.24 |
---|---|
[c++] 백준 11047 - 동전 0 (그리디 알고리즘) (0) | 2019.08.23 |
[c++] 백준 1037 - 약수(수학) (0) | 2019.08.22 |
[c++] 백준 11054 - 가장 긴 바이토닉 부분 수열(동적 계획법, dp) (0) | 2019.08.19 |
[c++] 백준 11053 - 가장 긴 증가하는 부분 수열(동적 계획법) (0) | 2019.08.10 |