Вопрос:

Использование рекурсии, чтобы найти, какое число больше

python

39 просмотра

2 ответа

10 Репутация автора

Привет всем, я пытаюсь выяснить, какое из двух чисел больше, используя рекурсию и без использования символов> или <. Это вообще возможно? Мне разрешено использовать только + или - заранее спасибо

Автор: JustJoe Источник Размещён: 08.11.2017 10:31

Ответы (2)


0 плюса

12638 Репутация автора

Конечно, это возможно, используя рекурсию, вы должны учитывать, что положительное целое число (с 0) может быть представлено как 0 или следующий из положительного числа. Учитывая, что, если число не равно 0, вы можете сделать шаг назад и спросить, равно ли оно 0, и продолжить, с кодом:

def greater_than(a,b):
  if(a == 0):
    return b!=0
  elsif(b == 0):
    return True
  else:
    return greater_than(a-1,b-1)
Автор: Damián Rafael Lattenero Размещён: 08.11.2017 10:40

1 плюс

37256 Репутация автора

Решение

Я покажу вам тестовую реализацию в Haskell, которая решит вопрос. Это не лучшее решение, но ваш инструктор, похоже, не ищет эффективности, просто задумался над проблемой.

-- |'myMax' takes two strictly positive ints and returns
-- the larger of the two.
myMax :: Int -> Int -> Int
myMax 0 y = y
myMax x 0 = x
myMax x y = myMax (x-1) (y-1)
Автор: Adam Smith Размещён: 08.11.2017 10:40
Вопросы из категории :
32x32