早教吧 育儿知识 作业答案 考试题库 百科 知识分享

问一道PASCAL题目选人.一个小组共五人,分别为A、B、C、D、E.现有一项任务,要他们中的3个人去完成.已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须

题目详情
问一道PASCAL题目
选人.一个小组共五人,分别为A、B、C、D、E.现有一项任务,要他们中的3个人去完成.已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去.编程找出此项任务该由哪三人去完成的所有组合.
▼优质解答
答案和解析
var a:array[1..6]of integer;
i:integer;
fin:boolean;
begin
for a[1]:=0 to 1 do
for a[2]:=0 to 1 do
for a[3]:=0 to 1 do
for a[4]:=0 to 1 do
for a[5]:=0 to 1 do
begin
a[6]:=0;
fin:=true;
for i:=1 to 5 do a[6]:=a[6]+a[i];
if a[6]3 then fin:=false;
if (a[1]+a[3]=2)or(a[2]+a[3]=0) then fin:=false;
if (a[3]=1)and(a[4]+a[5]1) then fin:=false;
if a[2]+a[3]+a[4]=3 then fin:=false;
if (a[2]=1)and(a[4]+a[5]=2) then fin:=false;
if fin then
begin
for i:=1 to 5 do
if a[i]=1 then write(chr(ord('A')+i-1));
writeln;
end;
end;
end.
附:
最终结果有3个:1.BCE 2.ABE 3.ABD