using System;
class Program
{
/// <summary>
/// Finds the smallest and largest digits in a number.
/// </summary>
/// <param name="number">Input number.</param>
/// <param name="minDigit">Returns the smallest digit.</param>
/// <param name="maxDigit">Returns the largest digit.</param>
static void FindMinMaxDigits(int number, out int minDigit, out int maxDigit)
{
// Handle negative numbers
number = Math.Abs(number);
// Special case for 0
if (number == 0) {
minDigit = 0;
maxDigit = 0;
return;
}
minDigit = 9;
maxDigit = 0;
while (number > 0)
{
// Extract the last digit
int digit = number % 10;
// Update smallest digit
if (digit < minDigit) {
minDigit = digit;
}
// Update largest digit
if (digit > maxDigit) {
maxDigit = digit;
}
// Remove the last digit
number /= 10;
}
}
static void Main()
{
int number = 839516;
FindMinMaxDigits(number, out int minDigit, out int maxDigit);
Console.WriteLine($"Number: {number}");
Console.WriteLine($"Smallest digit: {minDigit}");
Console.WriteLine($"Largest digit: {maxDigit}");
}
}
/*
run:
Number: 839516
Smallest digit: 1
Largest digit: 9
*/