728x90
문제 링크 : https://www.acmicpc.net/problem/11653
목차
1 설명
2 내 코드
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로 나누어 떨어지지 않을 때까지 계속 반복합니다.
실행 결과
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 |