В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
gona1
gona1
10.02.2021 00:26 •  Информатика

Написать программу в паскале! найти сумму 2^2 +2^3 + . операцию возведения в степень не исполь- зовать. последовательность фибоначчи образуется так: первый и второй члены по- следовательности равны 1, каждый следующий равен сумме двух предыду- щих (1, 1, 2, 3, 5, 8, 13, заранее .

Показать ответ
Ответ:
Dayun3212
Dayun3212
08.10.2020 17:32
Во первых зачем тут числа Фибоначи?

На вход подается 2 числа: a,b где
2^a + 2^(a+1) + 2^(a+2) + ...  2^(b-2) +  2^(b-1) + 2^b

На выводе число - результат формулы выше при подстановке a и b

1 вариант через цикл, сложность O(n):

VAR 
  a, b, adder, sum, i: INTEGER;
BEGIN 
  READ(a, b); 
  adder := 1; 
  FOR i := 1 TO b DO 
  BEGIN   
    adder := 2 * adder;   
    IF (i >= a)   
    THEN     
      sum := sum + adder 
  END; 
  WRITELN(sum);
END.

2 вариант через побитовые сдвиги, сложность O(1):

VAR  a, b: INTEGER;
BEGIN 
  READ(a, b);
  WRITELN((1 SHL (b+1)) - (1 SHL (a)));
END.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота