Я новичок в рубине и работаю над проблемой, но я не знаю, как это понять. Я хочу написать функцию, которая возвращает true, если каждый последовательный элемент является силой предыдущего элемента, в противном случае возвращает falseКак проверить, имеет ли список последовательные полномочия
например: если у меня есть список [2; 4; 8; 16], функция должна вернуться true функция должна возвращать false, [3; 7; 9;]
let consec_ele element = match element with
[] -> true
h::t ->
if h > t then false
else
if t/h = 0 && t mod h = 0 then true
;;
Я просто не могу понять, как заставить его работать и что так рекурсивно.
Почему вы пишете «новое рубину» и помечаете вопрос ocaml (я не знаю рубина, он выглядит как OCaml-Code)? Вы имели в виду несколько вместо власти? потому что в вашем примере 8 не является силой 4! Или вы имели в виду силу первого элемента? –