shanghaic
幼苗
共回答了20个问题采纳率:100% 举报
我按你的意思,只用while语句实现的,写法甚搞笑,完全随机..
var a:array[1..6]of integer;
t,i1,i2:integer;
begin
randomize;
a[1]:=1;
a[2]:=2;
a[3]:=3;
a[4]:=4;
a[5]:=5;
a[6]:=6;
while not((a[1]+a[2]+a[3]=a[3]+a[4]+a[5])and(a[1]+a[2]+a[3]=a[5]+a[6]+a[1])) do begin
i1:=random(6)+1;
i2:=random(6)+1;
t:=a[i1];
a[i1]:=a[i2];
a[i2]:=t;
end;
write(a[1],' ',a[2],' ',a[3],' ',a[4],' ',a[5],' ',a[6]);
end.
除了while语句没有使用任何其他的流程控制语句.完全符合你的要求...不过运行时间就看RP了.
1年前
追问
1
雪落无痕1116
举报
请将a[1],a[2],a[3],a[4],a[5],a[6]分别在哪个位置上写出来好么 谢谢
举报
shanghaic
就是对应123456那6个位置,一个三角形,顺着来一圈,不能理解吗? 例如: 1 2 6 3 4 5