klimantovich72
20.07.2021 00:10

какие переменные называются структурированными? приведите 3 примера использования структурированных перемен

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ЛюБИмИЦа55
19.01.2021 19:13

Вычислим примеры. Для этого приведем дроби к общему знаменателю.

Так как общий знаменатель число 45, то 7/9 дробь умножим на 5/5. После этого делаем прибавку.

1) 2/45 + 7/9 = 2/45 + 7/9 × 5/5 = 2/45 + 35/45 = 37/45;

Дробь 2/5 умножим на 5/5.

2) 2/5 + 4/25 = 2/5 × 5/5 + 4/25 = 10/25 + 4/25 = 14/25;

Найдем произведение дробей 1/6 и 3/3, чтобы получили знаменатель 18. Результат прибавки можно сократить в два раза.

3) 1/6 + 7/18 = 1/6 × 3/3 + 7/18 = 3/18 + 7/18 = 10/18 = 5/9.

Делаем умножение 6/7 на 6/6. 

4) 19/42 + 6/7 = 19/42 + 6/7 × 6/6 = 19/42 + 36/42 = 55/42;

Умножим дробь 5/8 на 4/4.

5) 3/32 + 5/8 = 3/32 + 5/8 × 4/4 = 3/32 + 20/32 = 23/32;

6) 3/8 + 1/56 = 3/8 × 7/7 + 1/56 = 21/56 + 1/56 = 22/56 = 11/28.

0,0(0 оценок)
Ответ:
никеда
29.07.2022 07:25
Представим, что мы знаем ответ на вопрос "чему равна сумма всех выписанных чисел при выполнении вызова F(n)" для всех n < k. Попробуем понять, как найти ответ для n = k.

Что делает F(n)? Читаем текст программы: сначала выводит n, а потом (если n > 0) запускает F(n - 1) и F(n - 3). Обозначим S(n) - сумму всех чисел после вызова F(n), тогда (при n > 0) 
S(n) = n + S(n - 1) + S(n - 3)

Для неположительных n получаем, что S(n) = n (т.к. F(n) просто выводит n и завершает работу, не запуская никаких других F).

Остается только расписать, чему равно S(5)...
S(-2) = -2
S(-1) = -1
S(0) = 0
S(1) = 1 + S(0) + S(-2) = 1 + 0 - 2 = -1
S(2) = 2 + S(1) + S(-1) = 2 - 1 - 1 = 0
S(3) = 3 + S(2) + S(0) = 3 + 0 + 0 = 3
S(4) = 4 + S(3) + S(1) = 4 + 3 - 1 = 6
S(5) = 5 + S(4) + S(2) = 5 + 6 + 0 = 11

ответ. 11.



При исследовании рекурсивных алгоритмов бывает полезно понять, сколько вызовов функций делает программа (например, если рисовать дерево вызовов, это будет показывать количество "стрелочек" на этом дереве). Представим себе, что мы стали выполнять алгоритм на бумаге, попробуем понять, сколько чисел придется выписывать.
Если #(N) - число вызовов процедуры F при наивном вычислении F(N). Понятно, что #(N) = #(N - 1) + #(N - 3) (при N <= 0 #(N) = 1). Не задаваясь целью получить точную формулу для #(N), получим только оценку (на самом деле, весьма показательную).
Очевидно, что #(N - 1) >= #(N - 3), тогда #(N) >= 2 * #(N - 3).
Так как #(0) = 1, то #(3) >= 2 * #(0) = 2, #(6) >= 2 * #(3) >= 2^2, #(9) >= 2 * #(6) >= 2^3, и вообще #(3N) >= 2^N
Отсюда можно предположить, что #(N) растет не медленнее, чем 2^(N/3) >= 1.25^N. Если 1,25^N кажется медленно растущей функцией - это вовсе не так, для N = 100 (это немного, наверно?) получим число, большее миллиарда. Так что если не запоминать промежуточные результаты, результат будет считаться ооочень долго. S(N) также растет быстро, но это уже другая проблема.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота