/*Простейшая реализация. Подразумевается, что вводятся корректные данные, n вмещается в int, а a и результат - в double. Визуализация зависимости числа операций умножения от степени n для чисел от 0 до 5000 прилагается */
#include <iostream>
double s_pow(double a, int power)
{
if (power == 0)
{
return 1;
}
if (power % 2 == 0)
{
return s_pow(a * a, power / 2);
}
return a * s_pow(a, power - 1);
}
int main()
{
double a;
int n;
std::cin >> a >> n;
std::cout << s_pow(a, n);
return 0;
}
i, j, max, n, m: integer;
ar: array[,]of integer;
begin
readln(n, m);
setlength(ar, n, m);
for i := 0 to n - 1 do
for j := 0 to m - 1 do ar[i, j] := random(0, 100);
max := ar[0, 0];
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do
begin
if(ar[i, j] > max) then max := ar[i, j];
end;
end;
writeln('Максимальный элемент: ', max);
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do write(ar[i, j]:4, ' ');
writeln;
end;
end.