问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PASCAL 约瑟夫问题 麻烦大虾们把程序详细讲解一下(是用循环的,然后再发...

发布网友 发布时间:2024-10-22 07:18

我来回答

5个回答

热心网友 时间:2024-10-22 08:28

{程序就是一个大循环,只要没有把人剔除完则继续循环。循环内部就是不断地把i指针向后推移,如果过了n就把指针移回1,如果当前i指向的这个人还没被剔除,则把他数进计数变量s,如果被剔除了(a[i]=True),则不数进计数变量。接着检测是否已经数到了第m个人(s=m),如果数到了则把计数变量赋值0,然后把a[i]:=True,表示这个人已被剔除,输出这个人的号码(i),再把被剔除的人数+1,否则继续循环。}
Program Josephus;
Var
n,m,s,f,i:Integer; {n表示有多少人,m表示每几人剔除一个,s表示现在已经数了几个人,f表示被剔除的人数,i是指向当前要检测的人}
a:Array[1..100]Of Boolean; {这个数组表示有哪个人被剔除了}
Begin
Readln(n,m); {读入n和m}
Repeat
Inc(i); {号码指针变量变量+1}
If i=n+1 Then {如果指针变量超界}
i:=1; {则将其赋值1}
If Not(a[i]) Then {如果a[i]没被剔除}
Inc(s); {则把计数变量+1,也就是把这个人数过}
If s=m Then {如果数到了第m个人}
Begin
s:=0; {则把数人变量赋值0}
Write(i,' '); {输出这个人的指针变量,也就是他的号码}
a[i]:=True; {把a[i]记录为已被剔除}
f:=f+1; {将剔除的人数变量+1}
End;
Until f=n; {当所有人被剔除则跳出循环,结束程序}
End.

热心网友 时间:2024-10-22 08:23

纯模拟

热心网友 时间:2024-10-22 08:26

用动归就OK了

热心网友 时间:2024-10-22 08:28

变题,数据量很大,用动归

热心网友 时间:2024-10-22 08:25

repeat
t:=t+1;
if t=n+1 then t:=1; // 一共有n个人的说,第n+1个人肯定是第一个人啦~~这是环,有木有~~~~
if a[t]=false then s:=s+1; // 这是在数数,有木有,false代表a[t]还木有出圈……
if s=m then // 呵呵~数到第m个了。话说这是模拟有木有~~~~
-------------
多说一句:话说,这个程序能不能编译成功是一个问题。
------修改一下-------
Program EX1;
var
n,m,s,f,t:integer;
a:array[1..100]of boolean;
begin
readln(n,m);
for t:=1 to n do
a[t]:=false;
f:=0; t:=0; s:=0;
repeat
t:=t+1;
if t=n+1 then t:=1;
if a[t]=false then s:=s+1;
if s=m then
begin
s:=0;
write(t,' ');
a[t]:=true;
f:=f+1;
end;
until f=n;
end.
-----------
以上。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 求大虾们帮我看下下面这个程序哪里有问题,谢谢咯 。 请大虾们帮我看下这个程序。该程序“输入年月日,然后计算当天是当年的第... 豆腐丸子汤是怎样制作的? 宝宝容易积食怎么调理 丸子豆腐汤的做法(豆腐丸子汤的家常做法) 冠道240的轮胎规格是什么 冠道240的轮胎规格是什么意思 冠道配的啥品牌轮胎 小红的爸爸7月25日出差,8月6日回来,他出差多少天?(回来那天不算_百度... 我想知道刺客信条总共有多少部(电脑能玩的),分别是哪些,玩的顺序是怎... ...8月6号回来,回来的那天不算,问:一共出差多少天?怎么列式?_百度知 ... 小红的爸爸7月25日出差,8月6日回来,他出差多少天?(回来那天不算)_百 ... 爸爸7月23日出差,8月10日回家,一共出差多少天 二战前,波兰为何敢说"三天灭亡德国"这样的话呢? 发票管理人是什么意思? 发票部门是什么机关 诺基亚3100铃声断断续续怎么处理 诺基亚3100c的无声模式中的通知铃声是什么?怎么没有无铃声?万一上课响... 发票归哪个部门管 手机问题,诺基亚3100.谢谢 诺基亚3100的问题! 跪求大虾们帮我解密骗术! ...的时显示什么该内存不能为wrtten 什么的?请大虾们帮忙解决下_百度知 ... 高分恳切请教大虾!有关一个简单程序的问题。 梦见很多蜘蛛,有大有小,很多。我也不知道它是死的还是活的,_百度知 ... ...中,你知道有哪些男明星不笑时很帅,一笑就意外崩坏吗? 石油阴谋:欲望驱使下的大博弈媒体评论 手机名医汇靠谱吗 中华名医汇健康咨询管理有限公司公司网站介绍 哪个播放器能免费看谢天谢地你来了。是手机上看。手机上播放器软件... 蒲巴甲在上谢天谢地你来了里面放的那首歌(不是沧海一声笑)是另外一个... 谢天谢地,你来啦节目简介 广州语言类大学排名有哪些 中央一《谢天谢地,你来啦》20120421晚上 演的白凯南那点 红衣服女主持... 广东有哪些语言类本科 你好,一周后我打算由成都出发摩托骑行去青海湖,能提供一条较好的路线... 什么是锌矿球磨机?锌矿石球磨机主要作用 从成都骑行到银川的路线 西藏大德材料科技集团有限公司化验室分析什么 国有土地征收如何补偿?与城市房屋拆迁有何区别 删好友真的很伤人心吗