Рекурсивная функция в VDM

Как бы я определить рекурсивную функцию, чтобы найти наибольшую степень двух меньше, чем входное число в VDM?

Функция выглядит следующим образом:

наибольшее: N -> N

Все, что у меня есть, это:

самый большой (n) =

если n=1, то 0
иначе, если n=2, то 1
еще... самый большой (...)

1 ответ

Это было бы что-то вроде "еще один плюс наибольшая половина этого числа". Но так как это выглядит подозрительно как упражнение, я позволю вам проработать мелкие детали.

Другие вопросы по тегам