约瑟夫问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。
人们站在一个等待被处决的圈子里。 计数从圆圈中的指定点开始,并沿指定方向围绕圆圈进行。 在跳过指定数量的人之后,执行下一个人。 对剩下的人重复该过程,从下一个人开始,朝同一方向跳过相同数量的人,直到只剩下一个人,并被释放。
#include <stdio.h>
#include <stdlib.h>
typedef struct Joseph {
int num;
struct Joseph *next;
}Joseph;
Joseph *newNode(int num){
Joseph *node;
node = (Joseph *)malloc(sizeof(Joseph));
// 下个节点赋值 设定当前节点的下个节点
node->nu