что приведенная
что приведенная ниже программная реализация алгоритма связана с некоторыми ограничениями. Во-первых, как значение аргумента, так и значение функции не должны выходить за пределы выделенного им диапазона, хотя можно было бы предусмотреть и контроль. Во-вторых, поскольку в вычислениях применяются операции div и mod, используемые в языке программирования для обработки десятичных чисел, да и результат тоже представлен как десятичная запись - символами из A10, - мы ограничимся диапазоном 2?p?9. Разумеется, последнее ограничение нетрудно снять, но тогда придется использовать структуру данных типа линейный массив, а мы пока обсуждаем алгоритмы, работающие с неструктурированными данными.
type
t = 2..9;
function Decimal_P (n : word; p : t) : longint;
var
a, r : longint;
begin
a := 0; r := 1;
while n >= 1 do
begin
a := a + (n mod p) * r;
r := r * 10;
n := n div p
end;
Decimal_P := a
end;
При работе алгоритма Decimal_P очередные символы разложения вычисляются
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа