import Foundation
/**
Finds the smallest and largest digits in a number.
- Parameter number: The input number.
- Returns: A tuple containing:
- min: Smallest digit
- max: Largest digit
*/
func findMinMaxDigits(_ number: Int) -> (min: Int, max: Int) {
// Handle negative numbers
var num = abs(number)
// Special case for 0
if num == 0 {
return (0, 0)
}
var minDigit = 9
var maxDigit = 0
while num > 0 {
// Extract the last digit
let digit = num % 10
// Update smallest digit
if digit < minDigit {
minDigit = digit
}
// Update largest digit
if digit > maxDigit {
maxDigit = digit
}
// Remove the last digit
num /= 10
}
return (min: minDigit, max: maxDigit)
}
// Input data
let number: Int = 839516
// Find smallest and largest digits
let result = findMinMaxDigits(number)
// Display results
print("Number: \(number)")
print("Smallest digit: \(result.min)")
print("Largest digit: \(result.max)")
/*
run:
Number: 839516
Smallest digit: 1
Largest digit: 9
*/