NyushaLove
11.04.2020 08:25

Рассмотрим бинарное дерево, у которого у каждой вершины ровно два потомка, за исключением вершин, потомками которых являются листья (лист может быть и один), а также самих листьев (у них нет потомков).
Вычислите максимально возможную высоту такого бинарного дерева, состоящего из 2020 элементов. Высотой дерева называется количество вершин на пути от корня до максимально удаленного от него листа, включая их.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
bananchik9
26.08.2022 11:17

Объясню на примере первой задачи.

Перед нами написана программа (алгоритм) на языке псевдокода.

В начале программы объявляются переменные, с которыми мы будем работать. В данном случае, объявляются переменные s и n целочисленного типа (цел). Дальше идет присвоение переменной s значения 1. нц говорит о том, что дальше идет цикл. Каждую его итерацию (шаг) будет выполняться его тело (все, что между нц и кц).  Конструкция для x от n до m говорит о том, что каждую итерацию переменная x будет увеличиваться на единицу (если указан шаг, т.е. конструкция выглядит так: для x от n до m шаг y, то будет увеличиваться на y) от числа n до числа m. Как только x будет равна m, цикл прекратится и будут выполняться действия после него. В нашем случае переменной n присваивается 3, выполняется тело s:=s*3. Т.е. после этого шага s будет равна 9. Теперь новая итерация. Переходим в начало цикла. Переменной n присваивается 4 (в предыдущий раз было 3). И опять выполняется действие s:=s*3. s становится равной 27. Потом опять новая итерация. И так далее. Когда n будет равна 5 ,то произойдет последняя итерация. Дальше пойдет вывод s, который после 4 итераций (n от 2-х до 5-ти включительно) будет равна 81.

Итерации более детально:

1. n = 2; s = 1*3 = 3

2. n = 3; s = 3*3 = 9

3. n = 4; s = 9*3 = 27

4. n = 5; s = 27*3 = 81

Все, цикл завершился.

ответы:

1) 81

2) 50

Итерации более детально:

1. n = 3; s = 0+2*3 = 6

2. n = 4; s = 6+2*4= 14

3. n = 5; s = 14+2*5 = 24

4. n = 6; s = 24+2*6 = 36

5. n = 7; s = 36+2*7 = 50

3) 13

4) 11

5) 121

6) 120

7) 38

8) 20

9) 40

Заметим, что в данной задаче указан шаг (step 2). Это значит, что каждую итерацию k будет увеличиваться не на 1-цу, а на 2-ку.

Итерации более детально:

1. k = 6; s = 0+10 = 10

2. k = 8; s = 10+10 = 20

3. k = 10; s = 20+10 = 30

4. k = 12; s = 30+10 = 40

0,0(0 оценок)
Ответ:
Slado4ka
07.08.2020 08:59

Объяснение:

program XandY;

const

rndlim=50;

var

x, y : integer;

begin

x:=random(rndlim);

y:=random(rndlim);

Writeln('x=',x,' y=', y);

Writeln('x+y = ',x+y);

Writeln('x-y = ',x-y);

Writeln('x*y = ',x*y);

Writeln('x^2 + y^2 = ',sqr(x)+sqr(y));

end.

Запуск:

Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64

Copyright (c) 1993-2012 by Florian Klaempfl and others

Target OS: Linux for x86-64       

Compiling main.pas                

Linking a.out                     

16 lines compiled, 0.2 sec

x=27 y=29                          

x+y = 56                          

x-y = -2                          

x*y = 783                           

x^2 + y^2 = 1570

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота