получить n в степени k, не используя операцию возведения в степень ПАСКАЛЬ напишите программу пожалуйста

  • умножать в цикле эн на эн
    к раз
    алгоритм
    эн= эн (10....4 )
    р=1
    цикл от 1 до к
    р=р*эн
    конец цикла
  • Самый простой способ: < Pow := 1; for i := 1 to K fo Pow := Pow * N; Но данный способ не очень экономичный, т. к. для возведения в k-тую степень требуется k операций умножения. Более продвинутый способ: Pow := 1;
    while K > 0 do begin
    if K and 1 = 1 then Pow := Pow * N;
    Pow := Pow * Pow;
    K := K shr 1;
    end;

    Пояснение:
    Пусть нужно возвести какое-то число n в 9 степень.
    Первым способом мы производим 9 операций умножения:

    Pow = 1*9*9*9*9*9*9*9*9*9

    Вторым способом:

    Pow = 1*9
    81 = 9*9 (9^2)
    6561 = 81*81 (9^4)
    43046721 = 6561*6561 (9^8)
    Pow = Pow*43046721 = 9*43046721 = 387420489

    Т. е. всего 5 операций умножения!
    Чем больше число k, тем экономичнее получается вычисление…

  • exp(ln(n)*k), n>0, нэ ?