https://www.acmicpc.net/problem/11653
소인수분해에 관한 문제. 소인수분해를 하려면 일단 소수로 나눠야 해서 에라토스테네스의 체를 쓰려다가, 조금만 생각해보니 일단 2부터 나누고, 안나눠지면 1을 더해서 나눈다. 합성수로 나눠질수도 있다고 생각이 들었었지만, 애초에 2,3,5부터 나눠서 안나눠질때까지 나눠버리기 때문에 합성수가 끼어들 틈이 없다.
#include <stdio.h>
int main () {
int n;
scanf("%d", &n);
int a = 2;
while (n != 1) {
if (n % a == 0) {
printf("%d\n", a);
n /= a;
} else {
a++;
}
}
return 0;
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 9020번 C언어 풀이 (0) | 2021.09.16 |
---|---|
백준 2914번 C언어 풀이 (0) | 2021.09.15 |
백준 15829번 C언어 / C++ 풀이 (4) | 2021.09.13 |
백준 1002번 C언어 풀이 (0) | 2021.09.12 |
백준 3053번 C언어 풀이 (0) | 2021.09.10 |