早教吧作业答案频道 -->其他-->
pascal约瑟夫n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好
题目详情
pascal约瑟夫
n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。
现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。
你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。
输入
一个k,0 输出
一个m
样例:
joseph.in
3
joseph.out
5
另一个样例:
joseph.in
4
joseph.out
30
务必在程序后加一些必要说明,感谢!
n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。
现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。
你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。
输入
一个k,0
一个m
样例:
joseph.in
3
joseph.out
5
另一个样例:
joseph.in
4
joseph.out
30
务必在程序后加一些必要说明,感谢!
▼优质解答
答案和解析
给你更好理解的。
这是筛法
var
n,m,i,s,p:integer;
a:array[1..10000] of integer;
begin
read(n,m);//这步不用说了吧?
for i:=1 to n do
a[i]:=1;//先全部赋值1
p:=0;s:=0;//统计人数和报数字用的
repeat
for i:=1 to n do
begin
if a[i]=0
then continue; //用于等会排除出圈者
s:=s+a[i];//不断累加(报数字)
if s=m then//出圈者
begin
write(i,' ');打印出圈者;
a[i]:=0;//明白刚才continue的意思了吧
p:=p+1;//人数减少一个;
s:=0;//重头报起。
end;
end;
until p=n;//直到人数到了
end。
其实呢,筛法的原理就是:
(1)先统一初始化,一般用for。可以赋值0,1,true,false。
(2) 在数组范围内,根据条件筛选,不符合条件的做反标记。
(3)输出结果。根据标记值输出。
所以,一般需要三个循环
这是筛法
var
n,m,i,s,p:integer;
a:array[1..10000] of integer;
begin
read(n,m);//这步不用说了吧?
for i:=1 to n do
a[i]:=1;//先全部赋值1
p:=0;s:=0;//统计人数和报数字用的
repeat
for i:=1 to n do
begin
if a[i]=0
then continue; //用于等会排除出圈者
s:=s+a[i];//不断累加(报数字)
if s=m then//出圈者
begin
write(i,' ');打印出圈者;
a[i]:=0;//明白刚才continue的意思了吧
p:=p+1;//人数减少一个;
s:=0;//重头报起。
end;
end;
until p=n;//直到人数到了
end。
其实呢,筛法的原理就是:
(1)先统一初始化,一般用for。可以赋值0,1,true,false。
(2) 在数组范围内,根据条件筛选,不符合条件的做反标记。
(3)输出结果。根据标记值输出。
所以,一般需要三个循环
看了pascal约瑟夫n个人站成一...的网友还看了以下:
解方程应用题,矿山爆破为了确保安全,点燃引火线后人要在爆破前转移到3000米以外的安全地带,引火线 2020-05-13 …
英语翻译几十万年之后,人不再是这个世界上的统治者了.狼群大量繁殖,他们比以往更聪明,更强大人们纷纷 2020-05-15 …
急!这样的材料要写什么主题的文章?俄国著名作家契诃夫去世之后,人们在他的笔记本里发现了他抄的一句寓 2020-05-23 …
《诊要经终论》曰∶正月、二月,天气始方,地气始发,人气在肝.三月、四月,天气正方,地气正发,人气在 2020-06-18 …
7,高中物理题////A,B两条船静止在水面上,它们的质量均为M,质量为M/2的人以对地速度v从A 2020-06-20 …
一些面积并不大的商店在四面的墙壁上安装了平面镜后,人站在里面觉得格外宽敞.为什么? 2020-06-26 …
某龙王庙前一石兽洪水时沉于河中,洪水后人们在庙的上游找到石兽。在上游找到石兽的主要原因是()A.河 2020-06-30 …
一位数学家去世后,人们在他的墓碑上刻着:“他的童年占去一生的六分之一,接着十二分之一是少年时代,他 2020-06-30 …
一个数学家去世后,人们在他的墓碑上刻着:他的童年占去一生的六分之一,接着12分之1是少年时代,又过 2020-07-03 …
一位数学家去世后,人们在他墓牌上刻着:““他的童年占去一生的六分之一,接着十二分之一是少年时代,又 2020-07-03 …