>

П'ята задача. Множення довгого числа на коротке. Під коротким розуміється ціле число типу Longlnt.

Процедура дуже схожа на процедуру складання двох довгих чисел.

Procedure Mul(Const А: TLong;Const K: Longlnt;Var С: TLong) ;

Var i: Integer;

{результат - значення змінної C}

Begin

FillChar (C, SizeOf (С), 0);

If K=0 Then Inc(C[0])  {множення на нуль}

Else

Begin

For i:=l To А[0] Do

Begin

C[i+l]:=(LongInt(А[i])*K+C[i]) Div Osn;

C[i]:=(LongInt(А[i])*K +C[i]) Mod Osn;

End;

If C[А[0]+1]>0 Then C[0]:=A[0]+1

Else

C[0]:=A[0];   {визначаємо довжину результату}

End;

End;

Hosted by uCoz