Skip to content

Latest commit

 

History

History

Упражнение 11

  1. Намерете Питагорова тройка (a, b, c), за която a + b + c = 1000. Колко такива тройки съществуват?

  2. Напишете функция smallestMultiple n, която намира най-малкото число, делящо се на всяко от числата от 1 до n.

  3. Напишете функция sumPrimesLowerThan n, която пресмята сумата на простите числа по-малки от n.

  4. Дефинирайте тип BinaryTree, представящ двоично дърво, съдържащо стойности от произволен тип във възлите си.

  5. Дефинирайте функция maxSumPath t, която приема за аргумент двоично дърво t с числа във възлите и намира максималната сума на числата по някой път от корен до листо.

  6. Дефинирайте функция bloom t, която по дадено двоично дърво t връща ново дърво t', което представлява t, в което на всички листа са добавени по два наследника - нови листа със същата стойност като на родителите си.

  7. Дефинирайте функция prune t, която по дадено двоично дърво t връща ново дърво t', което представлява t, в което всички листа са премахнати.