Cod sursa(job #159538)

Utilizator Marinescu_DanyelMarinescu George Marinescu_Danyel Data 14 martie 2008 11:03:07
Problema Multiplu Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
program multiplu;
type vector=array[1..1000] of byte;
var f,g:text;
    a,b,m,i,l,m1:longint;
    v,v1:vector;


procedure adunare;
var r:longint;

begin
r:=0;
for i:= 1 to l+1 do
  if v1[i]+v[i]+r>9 then
     begin
     v1[i]:=(v1[i]+v[i]+r)mod 10;
     r:=1;
     end
   else
     begin
     v1[i]:=v1[i] +v[i]+r;
     r:=0;
     end;
if v1[l+1]<>0 then
   l:=l+1;
end;


function cmmmc(a,b:longint):longint;
var cmmdc,a1,b1,r:longint;
begin
a1:=a;
b1:=b;
repeat
r:=a1 mod b1;
a1:=b1;
b1:=r;
until b1=0;
cmmdc:=a1;
cmmmc:=(a div cmmdc)*b;
end;











procedure  afla;
var ok:boolean;
    i,x,k:longint;
begin
m:=cmmmc(a,b);
m1:=m;
l:=0;
repeat
l:=l+1;
v[l]:=m1 mod 10;
m1:=m1 div 10;
until m1=0;
repeat
i:=0;
adunare;
ok:=true;
repeat
i:=i+1;
if v1[i]>=2 then
  ok:=false;
until (ok=false)or(i=l);
until ok=true;
end;






begin
assign(f,'multiplu.in');
reset(f);
assign(g,'multiplu.out');
rewrite(g);
read(f,a,b);
afla;
for i:= l downto 1 do
write(g,v1[i]);
close(f);
close(g);
end.