7432999
19.02.2022 05:56

Сегодня на уроке информатики обсуждали алгоритм быстрого возведения в степень. антон был внимателен и запомнил, что алгоритм нужен для того, чтобы сократить количество операций умножения при вычислении a^n. вместо n−1 умножения, которые получаются если просто вычислить произведение a⋅a⋅a⋅…⋅a (n сомножителей) можно получить гораздо меньшее число, если действовать так: если n кратно 2, то найдем сперва a^n/2, а потом умножим a^n/2 на себя если n не кратно 2, то найдем a^n–1, а потом умножим на a. например, чтобы вычислить a^10 хватит четырех умножений: сначала найдем a^2=a⋅a, потом a^4=a^2⋅a^2, потом a^5=a⋅a^4, и, наконец, a^10=a^5⋅a^5. антон также запомнил, что самые "плохие" случаи для этого алгоритма — когда n на 1 меньше точной степени двойки. теперь ему интересно узнать для какого-нибудь большого "плохого" n, а сколько умножений нужно, чтобы возвести a в степень n с этого алгоритма. антону, определите, сколько умножений сделает алгоритм для вычисления 2^n, где n= 2^13–1.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
missgur04
10.05.2020 14:54
Если дальше завершить программу, то получим это:
program HelloWorld;
    function ez(a: longint): boolean;        var c: integer;        begin            ez := a >= 2;            for c := 2 to trunc(sqrt(a)) do if a mod c = 0 then ez := false        end;        var i, k: integer;        num: array [1 .. 100] of integer;
begin    for i := 0 to 99 do num[i+1] := i + 1;        k := 0;    i := 1;        while k < 7 do begin        if ez(num[i]) = true            then k := k + 1;        i := i + 2;    end;        write(num[i-2]);    end.
ответ 19
0,0(0 оценок)
Ответ:
Dahsa007
08.09.2022 22:54

1. Для записи алгоритмов используют несколько словесный

графический

программный

Словесный – это записи алгоритма на естественном языке, но с тщательно отработанным набором слов и фраз, не допускающих повторений, синонимов, двусмысленности, лишних слов. Допускается использование математических символов. При графическом описания алгоритма осуществляется с блок-схем. Программный это запись алгоритма на языке программирования (в виде компьютерной программы).

2. Налить 9 литров. Перелить в другое ведро 5 литров. В 9-ти литровом останется 4 литра. Из 5-ти литрового вылить воду. Перелить из 9-ти литрового оставшиеся 4 литра в 5-ти литровое ведро. Наполнить 9-ти литровое ведро водой. Перелить в 5-ти литровое ведро 1 литр (больше в 5-ти литровое не влезет). Из 5-ти литрового вылить воду. В 9-ти литровом останется 8 литров. Перелить в 5-ти литровое ведро. ИТОГ: в 9-ти литровом останется 3 литра.

3. Прямоугольник - блок вычислений

Ромб - условие

Параллелограмм - блок ввода-вывода данных

овал - начало и конец алгоритма

Стрелки, соединяющие эти фигуры, и задают порядок выполнения действий.

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