Написать программу, вычисления степени по "индийскому алгоритму" - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Написать программу, вычисления степени по "индийскому алгоритму" с использованием формул: при n=1 x^n=x при n>1 x^=x^(n mod 2)*sqr(x^(ndiv2))

Решение задачи: «Написать программу, вычисления степени по "индийскому алгоритму"»

textual
Листинг программы
function powIndy(x : Real; n : Integer) : Real;
begin
  if      n = 0 then powIndy := 1
  else if n = 1 then powIndy := x
  else               powIndy := powIndy(x, n mod 2) * sqr( powIndy(x, n div 2) );
end;
 
var
  x : Real;
  n : Integer;
begin
  Write('x = '); ReadLn(x);
  Write('n = '); ReadLn(n);
  WriteLn('x^n = ', powIndy(x, n));
end.

Объяснение кода листинга программы

  1. В функции powIndy определяется формула для вычисления степени по индийскому алгоритму.
  2. Формула представлена в виде рекурсии с базовыми условиями: если n равно 0, то результат равен 1, иначе если n равно 1, то результат равен x, иначе результат вычисляется как произведение двух предыдущих вычислений и квадрат среднего значения.
  3. В основной части программы объявляются две переменные: x и n.
  4. Пользователю предлагается ввести значения этих переменных.
  5. Затем вызывается функция powIndy с переданными значениями x и n и результат выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы