关于Free Pascal IDE编程题~~急啊!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:39:43
甲乙丙丁戊五个人在运动会上分获百米、二百米、跳高、跳远和铅球冠军,有四个人猜测比赛结果:
a说:乙或铅球冠军,丁获跳高冠军
b说:甲获百米冠军,戊获跳远冠军
c说:丙获跳远冠军,丁获二百米冠军
d说:乙获跳高冠军,戊获铅球冠军
其中每个人都只说对一句,说错一句,求五人各获哪项冠军

挺简单的

(算法分析)
用1,2,3,4,5分别代表百米、二百米、跳高、跳远和铅球5个项目,用a,b,c,d,e 分别代表五人。如b=3 表示乙获跳高冠军。用多重循环穷举出来。
(参考程序)
var a,b,c,d,e:byte;
begin
for a:=1 to 5 do
for b:=1 to 5 do
for c:=1 to 5 do
for d:=1 to 5 do
e:=15-a-b-c-d;
if (ord(b=5)+ord(d=3)=1) and
(ord(a=1)+ord(e=4)=1) and
(ord(c=4)+ord(d=2)=1) and
(ord(b=3)+ord(e=5)=1) and
(a*b*c*d*e=120) then
writeln ('a:',a,'b:',b,'c:',c,'d:',d,'e:',e);
end.