![[BOJ] 백준_11653번_소인수분해 / C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb7wtYy%2FbtrexlJubRp%2FAAAAAAAAAAAAAAAAAAAAAB-cns2SoOVteUQVmN0NF_-YOUAwyLNF9UeILtuqkNRE%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DrSyWdBNNecrvfV7w2df2%252Bhb9UO8%253D)
[BOJ] 백준_11653번_소인수분해 / C++백준 알고리즘2021. 9. 8. 22:09
목차
문제 출처
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
코드
//[BOJ] 11655번_소인수분해
#include <iostream>
using namespace std;
int main()
{
int N;
int x = 2;
cin >> N;
while (1)
{
if (N == 1) {
break;
}
else if (N % x == 0) {
N = N / x;
cout << x << endl;
}
else
x++;
}
return 0;
}
시간 초과 오류 코드
//[BOJ] 11655번_소인수분해_시간초과요류
#include <iostream>
using namespace std;
int main()
{
int N;
int x = 2;
cin >> N;
while (1)
{
if (N % x == 0) {
N = N / x;
cout << x << endl;
}
else if (N == x)
break;
else
x++;
}
return 0;
}
처음에 if문 조건과 else if문 조건을 바꿔서 반대로 작성했다가 프로그램이 종료되지 않아서 시간 초과 판정을 받았다. 바꿔도 N==x라는 조건 때문에 N이 1일때까지 진행되지 않아서 마지막 인수 한 개가 안나오는 에러가 있었다.
728x90
반응형
'백준 알고리즘' 카테고리의 다른 글
[BOJ] 백준_1929번_소수 구하기 / C언어, C++ (0) | 2021.09.10 |
---|---|
[BOJ] 백준_1978번_소수 찾기 / C++ (0) | 2021.09.09 |
[BOJ] 백준_10808번_알파벳 개수 / C언어 (0) | 2021.09.07 |
[BOJ] 백준_10820번_문자열 분석 / C++ (0) | 2021.09.06 |
[BOJ] 백준_2743번_단어 길이 재기 / C++ (0) | 2021.09.06 |
@kdj :: Childev'note
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!