Инициализируем переменную result = 1.Пока N > 0: Если N четное, то умножаем X на само себя (X*X) и делим N на 2.Если N нечетное, то умножаем result на X и уменьшаем N на 1.Возвращаем result.
Программа на Паскале:
program PowerCalculation; var X, N, result: integer; begin writeln('Введите X: '); readln(X); writeln('Введите N: '); readln(N); result := 1; while N > 0 do begin if N mod 2 = 0 then begin X := X * X; N := N div 2; end else begin result := result * X; N := N - 1; end; end; writeln('Результат: ', result); end.
Алгоритм вычисления X^N:
Инициализируем переменную result = 1.Пока N > 0:Если N четное, то умножаем X на само себя (X*X) и делим N на 2.Если N нечетное, то умножаем result на X и уменьшаем N на 1.Возвращаем result.
Программа на Паскале:
program PowerCalculation;var
X, N, result: integer;
begin
writeln('Введите X: ');
readln(X);
writeln('Введите N: ');
readln(N);
result := 1;
while N > 0 do
begin
if N mod 2 = 0 then
begin
X := X * X;
N := N div 2;
end
else
begin
result := result * X;
N := N - 1;
end;
end;
writeln('Результат: ', result);
end.
Пример работы программы:
Введите X:2
Введите N:
5
Результат: 32