Программу для приумножения многоразрядных чисел — Pascal(Паскаль)

uses crt;
var
s1,s2:string;
a,b,c: array [0..1000] of byte;
i,j,q,na,nb,nc: integer;
procedure normc;{normalizatciya massiva}
begin
{ishem pervoe s konca <>0, opredelzem nc}
for nc:=1000 downto 0 do if c[nc]<>0 then break;
for i:=0 to nc do
begin
inc(c[i+1], c[i] div 10);{pribavlaem perenos}
c[i]:=c[i] mod 10; {ostavlaem poslednyu cifru}
end;
{ishem pervoe s konca <>0, opredelzem nc}
for nc:=1000 downto 0 do if c[nc]<>0 then break;
end;
begin
clrscr;
write('Pervoe chislo:');readln(s1);
write('Vtoroe chislo:');readln(s2);
na:=length(s1);
nb:=length(s2);
for i:=na downto 1 do
val(s1[i],a[na-i+1],q);{preobrazuem i zapisyvaem s konca}
for i:=nb downto 1 do
val(s2[i],b[nb-i+1],q);{preobrazuem i zapisyvaem s konca}
for j:=1 to nb do
begin
for i:=1 to na do
c[j+i-2]:=c[j+i-2]+a[i]*b[j];{umnozaem cifry b[j] na a[i], skladyvaem}
normc;   {privodim v vid chisla}
end;
for i:=nc downto 0 do write(c[i]);{perevorachivaem}
readln
end.

Leave a Comment

90 − 84 =