C#

백준 C# 11653 문제 풀이

psb08 2024. 10. 16. 19:32
728x90

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

목차

1 설명

 

2 내 코드

 

3 문제 풀이 해석 내용

 

4 실행 결과

 

설명

백준 브론즈 1 문제 입니다.

11653번 : 소인수분해입니다.

 

내 코드

 int N = int.Parse(Console.ReadLine());
 
 for (int i = 2; i < N + 1; i++)
 {
     while (N % i == 0)
     {
         Console.WriteLine(i);
         N /= i;
     }
 }

 

문제 풀이 해석 내용

 

입력 처리

int N = int.Parse(Console.ReadLine());

사용자로부터 정수 N을 받아 정수형으로 변환합니다.

 

 

소인수 분해 루트

for (int i = 2; i < N + 1; i++)
{
    while (N % i == 0)
    {
        Console.WriteLine(i);
        N /= i;
    }
}

i를 2부터 시작하여 N + 1까지 반복합니다. i는 현재 소인수를 나타냅니다.

while (N % i == 0)은 N이 i로 나누어 떨어질 때까지 반복합니다.

즉, i가 N의 소인수일 경우에 해당합니다.

이 조건이 참인동안 i를 출력하고, N을 i로 나누어 나머지를 계속 업데이트 해줍니다.

이 과정은 N이 더 이상 i로 나누어 떨어지지 않을 때까지 계속 반복합니다.

 

 

실행 결과

실행 결과 1
실행 결과 2

728x90

'C#' 카테고리의 다른 글

백준 C# 10101 문제 풀이  (0) 2024.10.20
백준 C# 27323 문제 풀이  (0) 2024.10.18
백준 C# 2581 문제 풀이  (0) 2024.10.14
백준 C# 1978 문제 풀이  (0) 2024.10.13
백준 C# 9506 문제 풀이  (0) 2024.10.12