100人报数,数到3退出游戏_奥数100个人围成一圈报数3出-CSDN博客

admin 阅读:36 2024-04-09 00:42:21 评论:0
100人报数,数到3退出游戏_奥数100个人围成一圈报数3出-CSDN博客

  #include #include int main() { int n, m = 3; // m为数到几退出 printf("请输入参与游戏的人数: "); scanf("%d", &n); int* circle = (int*) malloc(n * sizeof(int)); // 动态分配数组 for (int i = 0; i < n; i++) { circle[i] = i + 1; // 给每个人编号 } int count = 0, index = 0, left = n; // count为报数,index为当前的位置,left为剩余的人数 while (left > 1) { // 当剩余人数大于1时继续游戏 if (circle[index] != 0) { // 如果当前位置还有人 count++; // 报数加1 if (count == m) { // 报数到m时,该人出局 circle[index] = 0; // 标记为出局 count = 0; // 重置报数 left--; // 剩余人数减1 } } index++; // 往下一个人走 if (index == n) { // 走到最后一个人后,从头开始 index = 0; } } for (int i = 0; i < n; i++) { // 找出最后留下的那个人的编号 if (circle[i] != 0) { printf("最后留下的人的编号是: %d

  ", circle[i]); break; } } free(circle); // 释放动态分配的内存 return 0; }

本文 zblog模板 原创,转载保留链接!网址:https://gulangwanhotelxiamen.com/post/4633.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
排行榜