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

Ответы 1

  • Во первых зачем тут числа Фибоначи?На вход подается 2 числа: a,b где 2^a + 2^(a+1) + 2^(a+2) + ...  2^(b-2) +  2^(b-1) + 2^bНа выводе число - результат формулы выше при подстановке a и b1 вариант через цикл, сложность 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.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years