![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() кто может объяснить эти процедуры что в них происходит???
/Функция быcтрого возведения в степень Код:
function FastPower(a, b, n: integer): integer; var i: integer; ai: extended; begin ai := a; for I := Trunc(log2(b)) - 1 downto 0 do if Bit(b, i) then ai := Round(sqr(ai) * a) mod n else ai := Round(sqr(ai)) mod n; result := Round(ai); end; function Encrypt(s: string; e, n: integer): TIncodeMes; var I: Integer; begin SetLength(result, length(s)); for I := 0 to Length(s) - 1 do result[i] := FastPower(ord(s[i + 1]), e, n) end; function Decrypt(s: array of integer; e, n: integer): string; var i: Integer; begin SetLength(Result, Length(s)); for I := 0 to Length(s) - 1 do result[i + 1] := chr(FastPower(s[i], e, n)) end; |
#2
|
||||
|
||||
![]() Для начала, это не процедуры а функции. Основное отличие процедуры от функции в том, что функцию можно использовать в формулах, а процедуру нет.
1. FastPower - возведение в степень 2. Кодирование строки 3. Декодирование строки. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |