Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#으로 입력된 숫자의 약수 구하기 – 반복문과 나머지 연산 활용법

이 글에서는 사용자가 입력한 숫자의 약수(factor)를 모두 구해 화면에 출력하는 C# 프로그램을 단계별로 살펴봅니다. 약수란 어떤 수를 나누었을 때 나머지가 0이 되는 수를 의미합니다. 예를 들어 12의 약수는 1, 2, 3, 4, 6, 12입니다.

1단계: 숫자 입력받기

먼저 콘솔에서 숫자를 입력받습니다. Console.ReadLine()으로 문자열을 읽어온 뒤, int.Parse()를 사용해 정수형으로 변환합니다.

Console.WriteLine("Enter a Number");
n = int.Parse(Console.ReadLine());

2단계: 반복문과 나머지 연산(%)으로 약수 찾기

다음으로 1부터 입력받은 숫자 n까지 변수 i를 매번 1씩 증가시키며 반복문을 실행합니다. 이때 n % i의 결과가 0이라면 i는 n을 정확히 나눌 수 있는 수, 즉 n의 약수이므로 화면에 출력하면 됩니다.

for (i = 1; i <= n; i++) {
    if (n % i == 0) {
        Console.WriteLine(i);
    }
}

% 연산자는 나눗셈의 나머지를 반환하는 모듈로(modulo) 연산자입니다. n을 i로 나눈 나머지가 0이라는 것은 i가 n의 약수라는 뜻이므로, 이 조건만 확인하면 손쉽게 모든 약수를 찾을 수 있습니다.

전체 예제 코드

지금까지 설명한 내용을 종합하여, 입력된 숫자의 약수를 구하는 완성된 프로그램 코드는 다음과 같습니다.

using System;
namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            int n, i;
            Console.WriteLine("Enter a Number");
            n = int.Parse(Console.ReadLine());
            Console.WriteLine("Factors = ");
            for (i = 1; i <= n; i++) {
                if (n % i == 0) {
                    Console.WriteLine(i);
                }
            }
            Console.ReadLine();
        }
    }
}

실행 결과

프로그램을 실행하고 숫자를 입력하면, 해당 숫자의 모든 약수가 한 줄씩 차례대로 출력됩니다. 예를 들어 12를 입력한 경우 다음과 같은 결과를 얻을 수 있습니다.

Enter a Number
12
Factors =
1
2
3
4
6
12