Задача от лекции

Number of replies: 6

Задача. Да се напише функция с параметри х и n, която пресмята сумата $$\sum_{i=0}^n \frac{x^i}{i!}.$$ Да се посочи какъв процес генерира написаната функция. Позволено е използването на функциите pow и fact от лекции наготово.

Бонус получават:

  • първото вярно решение, което генерира рекурсивен процес (и е обозначено като такова)
  • първото вярно решение, което генерира итеративен процес (и е обозначено като такова)
  • първото вярно решение, което не използва expt, pow или fact
  • всяко следващо вярно решение, което е по-кратко от предишните
In reply to First post

Re: Задача от лекции

by Аделина Манчева -

(define (pow x n)

(cond ((= n 0) 1)

((< n 0) (/ 1 (pow x (- n))))

(else (* x (pow x (- n 1))))))


(define (fact n)

(if (= n 0) 1

(* n (fact (- n 1)))))


(define (sum x n)

    (if (= n 0) 1

          (+ (/ (pow x n) (fact n)) (sum x (- n 1)))))

In reply to Аделина Манчева

Re: Задача от лекции

by Трифон Трифонов -

Вярно и минимално. Нямаше нужда да пишете pow и fact.  Освен това трябваше да укажете какъв процес генерира функцията.

In reply to First post

Re: Задача от лекции

by Василен Чижов -

(define (sSum x n)

  (define (helper s ax ai k)

    (if (> k n)

        s

        (helper (+ s (/ (* ax x) (* ai k))) (* ax x) (* ai k) (+ k 1))

        )

    )

  (helper 1 1 1 1)

  )

In reply to First post

Re: Задача от лекции

by Любомира Митева -

(define (f x n)

  (define (g s p i)

    (if (> i n)

        s

        (g (+ s (/ (* p x) i)) (/ (* p x) i) (+ i 1))))

  (g 1 1 1))

Итеративен процес