Я сейчас пытаюсь перевести этот код Python 2:
import math
def worstCaseArrayOfSize(n):
if n == 1:
return [1]
else:
top = worstCaseArrayOfSize(int(math.floor(float(n) / 2)))
bottom = worstCaseArrayOfSize(int(math.ceil(float(n) / 2)))
return map(lambda x: x * 2, top) + map(lambda x: x * 2 - 1, bottom)
в код ракетки / схемы, и мне трудно.
Это то, что у меня так далеко:
(define (msortWorstCase n)
(cond
[(equal? 1 n) 1]
[else (let* ([top (msortWorstCase(floor (/ n 2)))] [bottom (msortWorstCase (ceiling (/ n 2)))])
(append (map (lambda (x) (* x 2)) (list top)) (map (lambda (x) (- (* x 2) 1)) (list bottom))))]
)
)
Может кто-нибудь сказать мне, где я не так с этим?
Я получаю следующую ошибку:
*: contract violation
expected: number?
given: '(2 1)
argument position: 1st
other arguments...: