C语言单循环链表实现:20人约瑟夫环问题,报到5出局顺序揭秘!
#include <stdio.h> #include <stdlib.h> typedef struct Node { int num; struct Node* next; } Node; Node* createCircle(int n) { Node* head = (Node*)malloc(sizeof(Node)); head->num = 1; head->next = NULL; Node* current = head; for (int i = 2; i <= n; i++) { Node* newNode = (Node*)malloc(sizeof(Node)); newNode->num = i; newNode->next = head; current->next = newNode; current = newNode; } return head; } void printOutSequence(Node* head, int n, int m) { Node* current = head; Node* prev = NULL; while (n > 0) { for (int i = 1; i < m; i++) { prev = current; current = current->next; } if (prev != NULL) { printf("%d ", current->num); prev->next = current->next; free(current); current = prev->next; } else { printf("%d ", current->num); head = current->next; free(current); current = head; } n--; } } int main() { int n = 20; // 一共有20个人 int m = 5; // 报到5的人出局 Node* head = createCircle(n); printOutSequence(head, n, m); return 0; } ######[AI写代码神器 | 857点数解答 | 2024-07-21 11:10:43]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- C#工程师必知:数组、链表、哈希、队列、栈数据结构优缺点大揭秘! (百度文心 | 561点数解答 | 2023-11-09 17:56:30)275
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)268
- 重新定义字母大小关系:让 “L 队” 字典序小于 “某 E” 的代码实现与分析(字节豆包 | 595点数解答 | 2025-12-03 19:44:59)79
- 深入解析格雷码生成算法:递归求解与代码实现(DeepSeek | 443点数解答 | 2026-01-05 12:21:49)69
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)342
- C++ 破解“没有 3 的世界”:找出第 n 个特殊正整数!(字节豆包 | 333点数解答 | 2025-03-17 22:48:43)163
- 浙闽“板凳龙”舞龙队 300 秒螺线盘入:位置与速度全揭秘(阿里通义 | 886点数解答 | 2024-09-07 10:31:31)648
- 浙闽“板凳龙”舞龙队 300 秒位置与速度数学模型揭秘(GPT | 565点数解答 | 2024-09-07 10:32:56)544
- 223节板凳龙沿等距螺线盘入:300秒内位置与速度的数学揭秘 (讯飞星火 | 443点数解答 | 2024-09-07 10:34:10)396
- 浙闽“板凳龙”300秒舞龙轨迹与速度:数学模型揭秘!(字节豆包 | 522点数解答 | 2024-09-07 10:35:06)360
- Excel 销售数据难题:2024 年 Q3 及特定时段销售情况计算全攻略(字节豆包 | 762点数解答 | 2024-11-06 19:11:51)204