本帖最后由 realnumber 于 2016-11-26 08:39 编辑
如图,1,2,3,...,填入以下12个交点,使得6条边上的四个数和相等.已用程序算出结果.
free pascal2.4.0程序如下,依次沿外面边界的点,取变量a1,a2,...,a11,以及常量12,其中a1是某正三角形顶点.
var
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11 : integer;
b:integer;
begin
for a1:=1 to 11 do
begin
for a2:=1 to 11 do
begin
if a2=a1 then continue;
for a3:=1 to 11 do
begin
if a3=a1 then continue;
if a3=a2 then continue;
for a4:=1 to 11 do
begin
if a4=a1 then continue;
if a4=a2 then continue;
if a4=a3 then continue;
for a5:=1 to 11 do
begin
if a5=a1 then continue;
if a5=a2 then continue;
if a5=a3 then continue;
if a5=a4 then continue;
if a1+a2+a4+a5<>26 then continue;
for a6:=1 to 11 do
begin
if a6=a1 then continue;
if a6=a2 then continue;
if a6=a3 then continue;
if a6=a4 then continue;
if a6=a5 then continue;
for a7:=1 to 11 do
begin
if a7=a1 then continue;
if a7=a2 then continue;
if a7=a3 then continue;
if a7=a4 then continue;
if a7=a5 then continue;
if a7=a6 then continue;
if a3+a4+a6+a7<>26 then continue;
for a8:=1 to 11 do
begin
if a8=a1 then continue;
if a8=a2 then continue;
if a8=a3 then continue;
if a8=a4 then continue;
if a8=a5 then continue;
if a8=a6 then continue;
if a8=a7 then continue;
for a9:=1 to 11 do
begin
if a9=a1 then continue;
if a9=a2 then continue;
if a9=a3 then continue;
if a9=a4 then continue;
if a9=a5 then continue;
if a9=a6 then continue;
if a9=a7 then continue;
if a9=a8 then continue;
if a5+a6+a8+a9<>26 then continue;
for a10:=1 to 11 do
begin
if a10=a1 then continue;
if a10=a2 then continue;
if a10=a3 then continue;
if a10=a4 then continue;
if a10=a5 then continue;
if a10=a6 then continue;
if a10=a7 then continue;
if a10=a8 then continue;
if a10=a9 then continue;
a11:=66-a1-a2-a3-a4-a5-a6-a7-a8-a9-a10;
if a7+a8+a10+a11<>26 then continue;
if a3+a2+a11+12<>26 then continue;
if a1+a9+a10+12<>26 then continue;
write(a1,' ',a2,' ',a3,' ',a4,' ',a5,' ',a6,' ');
write(a7,' ',a8, ' ',a9,' ',a10,' ',a11,' ');
writeln;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end. |