Реферат: Решение головоломки Ж. Арсака
for j:=i to n do
begin
if b[i,j] then
begin
sum:=i+j; fin:=false; k:=2;
while k<=n do
begin
l:=k;
while l<=n do
begin
if b[k,l] and (sum=k+l) and (i<>k) then
begin fin:=true; b[k,l]:=false; s:=s+1; end;
l:=l+1;
end;
k:=k+1;
end;
if fin then begin b[i,j]:=false; s:=s+1; end;
end;
end;
vs4:=vs1-s; writeln('vs4= ',vs4:5,' iz ',m);
for i:=2 to n do
for j:=i to n do if b[i,j] then writeln(i:4,j:4);
readln
end.
Теперь о результатах:
1) оказывается при тех условиях, которые сообщены в книге (числа более 1 и менее 100, то есть от 2 до 99 включительно, поэтому первоначально в программе константа n=99) задача имеет два решения:
(4;13) и (98;99);
2) но если условия изменить: числа от 2 до 100 включительно, то второе решение (98;99) отбрасывается на 4 шаге, так как есть две пары чисел с такой суммой: (98;99) и (97;100).
Все это побудило меня исследовать эту задачу более подробно: при каких еще значениях n эта задача будет иметь единственное решение.