728x90

202403025 백준 C언어 공부
11658번 소인수분해

1. 문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.

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

3. 출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. 
N이 1인 경우 아무것도 출력하지 않는다.

>>>코드

# include <stdio.h>
int main(void){
    int n, copy;
    scanf("%d", &n);
    copy = n;
    for (int i = 2; i<=n; i++){
        if (copy == 1) break;
        while (1){
            if (copy%i == 0){
                printf("%d\n", i);
                copy /= i;
            }
            else break;
        }
    }
    
    return 0;
}



>>>문제링크
https://www.acmicpc.net/problem/11653

728x90

+ Recent posts