Pagini recente » Cod sursa (job #3285883) | Cod sursa (job #1867550) | Cod sursa (job #381672) | Cod sursa (job #3196814) | Cod sursa (job #467844)
Cod sursa(job #467844)
program proda;
type numar=array[0..1000] of longint;
var f, g:text;
i, j, mmic, pozc, t, k:longint;
v:array[0..9] of longint;
nr:array[1..2] of numar;
c, rez:numar;
procedure afisare;
begin
{ for i:=1 to nr[1,0] do
write(g,nr[1,i]);
writeln(g);
for i:=1 to nr[2,0] do
write(g,nr[2,i]);
writeln(g);}
for i:=rez[0] downto 1 do
write(g,rez[i]);
writeln(g);
end;
function prod(a,b:numar):numar;
begin
for i:=1 to a[0] do
for j:=1 to b[0] do
c[i+j-1]:=c[i+j-1]+a[i]*b[j];
t:=0;
c[0]:=a[0]+b[0]-1;
for i:=1 to c[0] do
begin
k:=c[i]+t;
c[i]:=k mod 10;
t:=k div 10;
end;
while t>0 do
begin
c[0]:=c[0]+1;
c[c[0]]:=t mod 10;
t:=t div 10;
end;
prod:=c;
end;
function inv(a:numar):numar;
var aux:longint;
begin
for i:=1 to a[0] div 2 do
begin
aux:=a[i];
a[i]:=a[a[0]-i+1];
a[a[0]-i+1]:=aux;
end;
inv:=a;
end;
begin
assign(f,'prod.in'); reset(f);
assign(g,'prod.out'); rewrite(g);
for i:=1 to 9 do
read(f,v[i]);
mmic:=1;
pozc:=-1;
for i:=9 downto 1 do
begin
for j:=1 to v[i] do
begin
nr[mmic,0]:=nr[mmic,0]+1;
nr[mmic,nr[mmic,0]]:=i;
if nr[mmic,0]>nr[3-mmic,0] then
mmic:=3-mmic
else
if nr[mmic,0]=nr[3-mmic,0] then
begin
if pozc=-1 then
if nr[mmic,nr[mmic,0]]<nr[3-mmic,nr[3-mmic,0]] then
pozc:=mmic
else
if nr[mmic,nr[mmic,0]]>nr[3-mmic,nr[3-mmic,0]] then
pozc:=3-mmic;
if pozc<>-1 then
mmic:=pozc;
end;
end;
end;
rez:=prod(inv(nr[1]),inv(nr[2]));
afisare;
close(f);
close(g);
end.
{}