早教吧作业答案频道 -->其他-->
谁会C语言课程设计Josephus问题有一群学生围成一圈,顺序编号,从第一个学生起,顺时针方向报数,从1报到m,凡是报到m的学生离开圈子,随着学生的不断离开,圈子越缩越小,最后剩下的
题目详情
谁会C语言课程设计Josephus问题
有一群学生围成一圈,顺序编号,从第一个学生起,顺时针方向报数,从1报到m,凡是报到m的学生离开圈子,随着学生的不断离开,圈子越缩越小,最后剩下的学生便是 胜利者,问最后剩下的学生是原来的第几号? 分析:首先对每一个学生赋以一个序号值作为学生离开时,将他的序号改为0作为离开的标志。
有一群学生围成一圈,顺序编号,从第一个学生起,顺时针方向报数,从1报到m,凡是报到m的学生离开圈子,随着学生的不断离开,圈子越缩越小,最后剩下的学生便是 胜利者,问最后剩下的学生是原来的第几号? 分析:首先对每一个学生赋以一个序号值作为学生离开时,将他的序号改为0作为离开的标志。
▼优质解答
答案和解析
#include
#include
struct Link{
int id;
Link *next;
};
void Initialize(int n, Link *head)
{
int i;
Link *p;
for (i = 1, p = head; i <= n; i++){
p-> next = (Link *) malloc (sizeof(Link));
p = p-> next;
p-> id = i;
}
p-> next = head-> next;
}
void Delete(Link *node)
{
Link *temp;
temp = node-> next;
printf( "%d ", node-> next-> id);
node-> next = temp-> next;
free(temp);
}
void main()
{
Link *head, *p;
int n, i, k;
printf( "%s ", "Input n,k = ");
scanf( "%d%d ", &n, &k);
head = (Link *) malloc (sizeof(Link));
head-> next = (Link *) malloc (sizeof(Link));
Initialize(n, head);
for (p = head, i = 1; p != p-> next; p = p-> next, i++){
if (i == k){
i = 1;
Delete(p);
}
}
printf( "\n ");
printf( "%d ", p-> id);
}
#include
struct Link{
int id;
Link *next;
};
void Initialize(int n, Link *head)
{
int i;
Link *p;
for (i = 1, p = head; i <= n; i++){
p-> next = (Link *) malloc (sizeof(Link));
p = p-> next;
p-> id = i;
}
p-> next = head-> next;
}
void Delete(Link *node)
{
Link *temp;
temp = node-> next;
printf( "%d ", node-> next-> id);
node-> next = temp-> next;
free(temp);
}
void main()
{
Link *head, *p;
int n, i, k;
printf( "%s ", "Input n,k = ");
scanf( "%d%d ", &n, &k);
head = (Link *) malloc (sizeof(Link));
head-> next = (Link *) malloc (sizeof(Link));
Initialize(n, head);
for (p = head, i = 1; p != p-> next; p = p-> next, i++){
if (i == k){
i = 1;
Delete(p);
}
}
printf( "\n ");
printf( "%d ", p-> id);
}
看了谁会C语言课程设计Joseph...的网友还看了以下:
如图所示为生活中磨刀的示意图,磨刀石静止不动,刀在手的推动下从右向左匀速运动,发生的位移为x,设刀 2020-05-13 …
一只电子蚂蚱落在数轴上的点AO处,点AO表示的数为-5又7分之2.电子蚱蜢按以下规律跳动:第一步从 2020-06-27 …
在你身边,若有一束电子从上而下运动,在地磁场的作用下,它将向西偏转.为什么?地磁场的方向有南向北,电 2020-11-01 …
科学问题(急)填空:1.太阳每天从东方升起,再从西方落下.物体的影子早晨朝向(),然后逐步朝向(), 2020-11-10 …
一道初二思想品德问题:(勿必说明理由)小雪在小学时成绩一直很好,升入中学以后由于不适应,成绩渐渐退步 2020-12-13 …
如图所示,匀强磁场方向水平向里,匀强电场方向竖直向上,有一正离子恰能沿直线从右向左水平飞越此区域.则 2020-12-23 …
用力向半透明膜将0.02mol·L-1蔗糖溶液和0.02mol·LNaCL溶液隔开,在相同温度下会发 2020-12-28 …
小李在学习上明明没有理解和掌握,但又不愿放下架子向别人请教。想自己暗暗地努力追赶,但是效果不好,成绩 2020-12-29 …
若有一束电子从上而下运动,在地磁场的作用下,它将向西偏转.为什么?电子从上而下运动用手怎么比划?我知 2021-01-02 …
DNA的合成方向总是()延伸.A.从DNA分子的左端向右端B.从DNA分子的右端向左端C.从子链的5 2021-01-02 …