fun divide(dividend: Int, divisor: Int): Int {
// Handle division by zero
if (divisor == 0) {
throw IllegalArgumentException("Division by zero is not allowed")
}
// Base case: If the dividend is less than the divisor, return 0
if (dividend < divisor) {
return 0
}
// Recursive case: Subtract divisor from dividend and add 1 to the result
return 1 + divide(dividend - divisor, divisor)
}
fun main() {
try {
// Example usage
val dividend = 28
val divisor = 4
val result = divide(dividend, divisor)
println("Result of dividing $dividend by $divisor is: $result") // Should print 7
} catch (e: IllegalArgumentException) {
println(e.message)
}
}
/*
run:
Result of dividing 28 by 4 is: 7
*/