Pagini recente » Cod sursa (job #1513039) | Cod sursa (job #1057828) | Cod sursa (job #794929) | Cod sursa (job #2344747) | Cod sursa (job #115207)
Cod sursa(job #115207)
program multiplu;
const maxjegy = 1000;
type szam = array[0..maxjegy] of word;
var f:text;
a,b,t,i:longint;
e,tsz:szam;
procedure alakit(var sz:szam;x:longint);
var i:word;
begin
i:=maxjegy;
while(x>0) do
begin
sz[i]:=x mod 10;
x:=x div 10;
i:=i-1;
end;
sz[0]:=i+1;
end;
procedure osszead(sz1,sz2:szam;var e:szam);
var i,t:word;
begin
t:=0;
i:=maxjegy;
while (i>=sz1[0]) or (i>=sz2[0]) or (sz1[i]+sz2[i]+t>0) do
begin
e[i]:=(sz1[i]+sz2[i]+t) mod 10;
t:=(sz1[i]+sz2[i]+t) div 10;
i:=i-1;
end;
e[0]:=i+1;
end;
function lkkt(szam1,szam2:longint):longint;
var m,sz1,sz2,lnko:longint;
begin
sz1:=szam1;
sz2:=szam2;
while m<>0 do
begin
m:=sz1 mod sz2;
sz1:=sz2;
sz2:=m;
end;
lnko:=sz1;
lkkt:=(szam1*szam2) div lnko;
end;
{function ellenoriz(x:longint):boolean;
var control:boolean;
begin
control:=true;
while(control) and (x>0) do
begin
if(x mod 10) > 1 then control:=false;
x:=x div 10;
end;
ellenoriz:=control;
end;}
function ellenoriz(var x:szam):boolean;
var i:word;
begin
ellenoriz:=true;
for i:=x[0] to maxjegy do
if(x[i] > 1) then
begin
ellenoriz:=false;
break;
end;
end;
begin
assign(f,'multiplu.in');
reset(f);
readln(f,a,b);
close(f);
t:=lkkt(a,b);
alakit(e,t);
alakit(tsz,t);
while not(ellenoriz(e)) do osszead(e,tsz,e);
assign(f,'multiplu.out');
rewrite(f);
for i:=e[0] to maxjegy do write(f,e[i]);
writeln(f);
close(f);
end.