Реферат: Задачи на длинную арифметику

VspRez := A[I] * B[J] + P + C[I + J - 1];

C[I + J - 1] := VspRez Mod 10; {Очередное значение цифры в

разряде I + J - 1}

P := VspRez Div 10 {Перенос в следующий разряд}

End;

C[I + J] := P {последний перенос может быть отличен от нуля,

запишем его в пока ещё свободный разряд}

End

End;

Сейчас приведем листинг программы целиком.

Program DlUmn;

Const NMax = 2000;

Type Digit = 0..9; DlChislo = Array[1..Nmax] Of Digit;

Var S : String;

M, N, R, F : DlChislo;

I, MaxF : Word;

Logic : Boolean;

{Процедура обнуления длинного числа}

Procedure Zero(Var A : DlChislo);

Var I : Integer;

Begin

For I := 1 To NMax Do A[I] := 0;

End;

{Функция определения количества цифр в записи длинного числа}

Function Dlina(C : DlChislo) : Integer;

Var I : Integer;

Begin

I := NMax;

While (I > 1) And (C[I] = 0) Do I := I - 1;

К-во Просмотров: 1139
Бесплатно скачать Реферат: Задачи на длинную арифметику