CS/알고리즘
정수의 각 자릿수를 다루는 방법 (C#)
alpacadabra
2022. 8. 28. 17:58
정수 x의 각 자릿수를 순서대로 출력하는 코드는 아래와 같다.
public static void Print(int x)
{
if (x / 10 > 0)
Print(x / 10);
Console.Write(x % 10);
}
만약 거꾸로 1의 자리부터 출력하고 싶다면 재귀가 아닌 반복문으로도 충분하다.
public static void PrintReverse(int x)
{
while (x > 0)
{
Console.Write(x % 10);
x /= 10;
}
}
거꾸로 된 출력이 아니라 값을 원한다면 아래의 방법을 사용하면 된다.
public static int Reverse(int x)
{
int result = 0;
while (x > 0)
{
result = result * 10 + x % 10;
x /= 10;
}
return result;
}
위와 비슷하게 각 자릿수의 합을 구할 수도 있다.
public static int Sum(int x)
{
int result = 0;
while (x > 0)
{
result += x % 10;
x /= 10;
}
return result;
}
실행 결과
(Print에 공백을 추가해 알아보기 쉽게 하였음)