Je viens de commencer à travailler sur ce livre pour m'amuser; J'aurais aimé que ce soit des devoirs, mais je n'aurais jamais pu me permettre d'aller au MIT, et il y a des tas de gens plus intelligents que moi de toute façon. : PSICP exercice 1.16, où est mon bug, parce que cela me semble juste
rapide exp est censé trouver b^n, à savoir 4^2 = 16, 3^3 = 27
(define (fast-exp b n)
(define (fast-exp-iter n-prime a)
(cond ((= n-prime 1) a)
((= (remainder n-prime 2) 1) (fast-exp-iter (- n-prime 1) (* a b)))
(else (fast-exp-iter (/ n-prime 2) (* a b b)))))
(fast-exp-iter n 1))
fast-exp 4 2; Expected 16, Actual 2
notes de style. ..Je suppose que vous êtes habitué à la syntaxe C. Vous aurez envie de regrouper les crochets de fermeture, il sera plus agréable de cette façon. Vous pouvez également utiliser des crochets dans Scheme, donc votre cond pourrait ressembler à (cond [(= n-prime 1) a] ...) –
J'ai pris la liberté de corriger l'indentation et les parenthèses. – Svante
@omouse cool merci pour le pourboire! – Dave