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

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

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

Number of replies: 8

Задача. Да се напише функция, която по дадени числа a и b намира вида на решенията на неравенството ax2 > b, като връща:

  1. ако множеството от решенията е от вида (-∞; x1) ∪ (x2; +∞)
  2. ако множеството от решенията е от вида (x1; x2)
  3. ако неравенството няма решения
  4. ако всички реални числа удовлетворяват неравенството.

Бонус точки от лекции ще получат:

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

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

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

(define (f a b) (cond ((= a 0) (if (< b 0) 4 3)) ((> a 0) (if (< b 0) 4 1)) (else (if (< b 0) 2 3))))

In reply to Любомира Митева

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

by Трифон Трифонов -
Браво! Кратко и вярно.

Сега да видим дали сега някой може да предложи още по-кратко решение :)
In reply to First post

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

by Лъчезар Малинков -

(define (f a b) (

cond ((< b 0)(if(< a 0) 2 4))

    (else (if(> a 0) 1 3))))

In reply to Лъчезар Малинков

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

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

Вярно и по-кратко от предишното. А някой може ли да го напише още по-кратко?

In reply to First post

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

by Атанас Василев -

(define (f a b) (if (< b 0) (if (< a 0) 2 4)

                    (if (> a 0) 1 3)))

In reply to Атанас Василев

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

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

Разбира се :) cond е удобен за многозначен избор, за двузначен избор if е по-подходящ.