Lisp Scheme Part41 (858レス)
1-

440
(1): デフォルトの名無しさん [sage] 2021/07/20(火) 03:11:09.60 ID:DJlNseKm(2/4) AAS
(z (pow x...)) の評価が ((zero? y) 1) の前に起きてるのが原因なんですね
z に (pow x..) を束縛だけして評価しないみたいなことって出来るんですかね?
(define (pow2 x y)
 (if (= y 0)
   1
   (let ((z (pow2 x (quotient y 2))))
    (if (= (modulo y 2) 0)
      (* z z)
      (* x z z)))))
みたいに if 文に分解して (= y 0) 1 を (let ((z (pow2 x ..) の前に出すしかないんでしょうか
let と cond を一緒に使うとスッキリ書けそうなのですが…
1-
あと 418 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s