Используя правильное присваивание и заставляя нашу функцию возвращать что-то, мы получаем:
Division_alternative <- function(dividend, divisor) {
##Handle only positive cases
stopifnot((dividend > 0 && divisor >0))
quotient = 0
while (dividend >= divisor) {
# print(sign*quotient)
dividend <- dividend - divisor
quotient <- quotient + 1 }
return(list(dividend, quotient))
}
a = 25
b = 4
print(Division_alternative(a, b))
Я занимаюсь только положительными случаями, так как это самый простой случай.Я позволю вам разобраться в логике того, как заставить это работать в трех других случаях, так как это а) удовольствие в выполнении этих вещей, б) я не являюсь мажором CS и никогда не реализовывал модуль и функцию остатка с нуля.