
PaWeLoS [ Admiral ]
Zna ktoś tutaj Scheme?
Witam!
Na informatykę mam zrobić w Schemie taką funkcję:
"suma kwadratów ilu kolejnych liczb naturalnych mieści się w liczbie x?".
Czyli jeśli mamy liczbę z przedziału od 1 do 4 to funkcja powinna zwrócić 1, jeśli liczbę z przedziału 5-13 to 2 itd.
No i wszystko jest ok, piszę sobie takie coś:
- na górze "(define y 1)" i "(define z 1)"
-na dole:
(define sumakw
(lambda (x)
(if (< x y) (- z 1) (if (= x y) z ( **** (sumakw x))))))
Ale w miejscu "****" mam pewien problem, nie wiem jak zmienić zdefiniowaną wcześniej liczbę...
Chcę, żeby y przybrało wartość (+ y (expt (+ z 1) 2)) a z: (+ z 1).
Czy wie ktos jak to zrobić?
Z góry dzięki!
PS. Wszelkich błędów w kodzie proszę nie poprawiać, postaram się sam to zrobić :)

PaWeLoS [ Admiral ]
^^
PaWeLoS [ Admiral ]
up
PaWeLoS [ Admiral ]
Może teraz?
Raf [ Pretorianin ]
Wątpię, czy ktoś Ci pomoże z językiem funkcyjnym, gdyż rzadko się ich używa. Ja sam kiedyś trochę w Ocaml’u pisałem, ale też już teraz niewiele pamiętam:/ Znając życie jest to program, który można w linijce, góra dwóch zrobić:P