Паскаль: рекурсивні означення та підпрограми
Паскаль: рекурсивні означення та підпрограми
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 19.7
Скачувань: 1446
накопичуючи в добутку лише ті двійкові степені, які відповідають остачам 1. У наступному алгоритмі добуток степенів накопичується в змінній t, а двійкові степені – в змінній x:
function pow(x, n : integer) : integer;
var t : integer; notfin : boolean;
begin
t:=1; notfin:=true;
while notfin do
begin
if odd(n) then t:=t*x;
n:=n div 2;
if n>0 then x:=x*x else notfin:=false
end;
pow:=t
end;
Задача
11. Імітувати виконання виклику функції pow (обидва варіанти) з аргументами x=2, n=11. Указати загальну кількість виконуваних арифметичних операцій при n = 5, 10, 15, 16, 1000, 1023, 1024.
function pow(x, n : integer) : integer;
var t : integer; notfin : boolean;
begin
t:=1; notfin:=true;
while notfin do
begin
if odd(n) then t:=t*x;
n:=n div 2;
if n>0 then x:=x*x else notfin:=false
end;
pow:=t
end;
Задача
11. Імітувати виконання виклику функції pow (обидва варіанти) з аргументами x=2, n=11. Указати загальну кількість виконуваних арифметичних операцій при n = 5, 10, 15, 16, 1000, 1023, 1024.