riešenie
- Hviezdičky sa vytlačia pre:
(i in [2*A+1..3*A])and(j
in [B+1..3*B]) or (i in [1..2*A])and(j in [1..B])
t.j. v prvom prípade
je to 2*A*B hviezdičiek a v druhom tiež => program vždy vytlačí
4*A*B hviezdičiek
- pre A=6 a B=20, počet hviezdičiek je 4*6*20=480
- obrázok z 84=4*3*7 hviezdičiek sa nakreslí
pre všetky dvojice (A,B): (3,7), (7,3), (1,21), (21,1)
- oprava programu je nasledovná:
for i:=2 to n do
if A[i]>m2 then
if A[i]>m1 then
begin
m2:=m1; m1:=A[i];
end
else
begin
if A[i]<m1 then m2:=A[i];
end
else if m1=m2 then m2:=A[i];
- jednoduchou simuláciou jednotlivých prípadov
sa dá ukázať, že:
- 40 sekúnd
- 140 sekúnd
- napr. riešenie
var
N,i,x,a,b:integer;
begin
readln(N); a:=6; b:=1; x:=4;
for i:=1 to n do begin
writeln(a:5,b:5,a+b:5);
a:=a+7; b:=b+x; x:=6-x;
end;
end;