大家帮忙看一下我这个猴子选大王有什么问题,怎么不出结果呢
pascal吧
全部回复
仅看楼主
level 2
651549063 楼主
选举办法如下:从第一人开始报数,数到k的出圈。再由下一个人开始报数,数到K的出圈……,依次输出出圈的编号,最后一个便是大王。N的值预先设定,K的值由键盘键入。(n=8 k=6)共8人
2014年10月04日 09点10分 1
level 2
651549063 楼主
这是程序段
program houzi2;
type duile=array [1..8] of boolean;
var a:duile;
i,n,p,k,q:integer;
s:boolean;
begin
write(*input the number*);
read(n);
for i:=1 to 8 do a[i]:=true;
s:=false;
i:=1;
while s=false do
begin
s:=true;
p:=0;
repeat
while a[i]=false do
i:=i+1;
while a[i+1]=false do
i:=i+1;
if i>8 then i:=i mod 8;
p:=p+1;
until p=n;
a[i]:=false;
q:=i;
for k:=1 to 8 do
if a[k]=true then s:=false;
end;
write(q);
end.
2014年10月04日 09点10分 2
level 9
约瑟夫算法,上网搜一下吧,手机不好打给楼主,楼主写得太复杂了。
2014年10月04日 11点10分 3
1