【问题描述】有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。

【输入形式】输入人数n
【输出形式】输出依次退出的人的编号,和最后留下的人的编号
【样例输入输出】

#include <stdio.h>int main()
{void number_off(int *p, int n);int num[100],*p=num,n,i;printf("Input n:");scanf("%d", &n);for(i=1;p<num+n;p++){  // 用顺序数来保存位数 ,最后那一位还有数,那么就是它留下来了*p=i++;}number_off(num, n);for(p=num;p<num+n;p++){if(*p){printf("\nLast No. is:%d",*p);break;}}return 0;
}void number_off(int *p, int n)
{int *first=p, count=0, i=0, k=0, rest=n;while(rest!=1){  // 当还剩下一位时if(*(first+i)!=0){  // 说明这个数还没退出圈k++;  //报数if(k==3){count++;  // 退出人数printf("%d ",*(first+i));*(first+i) = 0;  // 退出k=0;}}i++;if(i==n){  // 这就形成一个圈了呀!i=0;}rest = n-count;}
}

有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。相关推荐

  1. c语言有n个人围成一圈用指针,C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子...

    来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2021/05/20 00:22:21 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 有n个人围成一圈,按 ...

  2. Java语言,有n个人围成一圈,顺序排号1...n。从第一个人开始报数(从1到3报数),凡报到3的人立刻退出圈子,输入参数为n,计算并返回最后留下的是第几号。

    代码实现: import java.util.Scanner;public class removeNum {public static void main(String[] args) {Scann ...

  3. ACMNO.38 C语言-报数 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

    题目描述 有n人围成一圈,顺序排号. 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.`在这里插入代码片` 问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样 ...

  4. python n个人围成一圈,Python练习代码实例69-有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的...

    Python 练习实例69 题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 程序分析:无. 程序源代码:#!/usr/bi ...

  5. c语言报数问题程序,转圈报数问题(C语言):有n个人围成一圈,顺序排号……...

    问题描述: 有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. 题目分析: 这道题目是我们在日常生活中也能经常见到的一种报数小游戏.首 ...

  6. (C语言)有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

    题目描述 有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样例输入 3 样例输出 2 ...

  7. 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)

    问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. 问最后留下的是原来第几号的那位. ...

  8. 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。...

    首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们! 然后今天群里突然有人提出了题目的这个问题: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人 ...

  9. 习题 6.5 有n个人围成一圈,顺序排号。从第1个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。

    C++程序设计(第三版) 谭浩强 习题6.5 个人设计 习题 6.5 有n个人围成一圈,顺序排号.从第1个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 代码块: # ...

  10. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理)。——C语言

    1 概述 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理).--C语言 2 解法 //C程序设计第五版(谭浩强) / ...

最新文章

  1. 简述nodejs、npm及其模块在windows下的安装与配置
  2. 怎样使用dhcp自动分配IP地址
  3. Spring事务异常回滚,捕获异常不抛出就不会回滚
  4. YARN的内存和CPU配置优化
  5. vue一二级联动清空二级数据_【周一实用技巧】二级联动还不够,自动更新才最牛。Excel 2013利用数据验证条件制作一级、二级联动和自动更新下拉列表...
  6. JVM内存GC的骗局
  7. 代码坏味道 - 耦合
  8. java中取得上下文路径的方法
  9. k8s Pod亲和性:pod与pod的亲和性
  10. 鼠标移动到ul图片会摆动_我们可以从摆动时序分析中学到的三件事
  11. html选择器是什么,CSS3选择器是什么?
  12. java assert可以检查exception吗_PETCT检查可以排查大肠癌吗?
  13. android 混淆移除log,关于安卓代码混淆和Release版本中去除Debug信息
  14. centos7 安装btsync
  15. 学计算机加数模社团,优秀社团 | 数学建模协会
  16. 智能网联时代汽车智能座舱操作系统的发展
  17. 如何自己制作一个RISC指令集的CPU?
  18. 搜索引擎优化有哪些方法?分享SEO搜索引擎优化的12点经验
  19. 雅虎谷歌恩怨回顾:养虎为患自食苦果
  20. PYTHON开发毕业设计做什么好鸭?

热门文章

  1. StreamSets数据操作平台(数据移动及数据清洗强大工具)
  2. 关于 写代码 2013年9月28日18:22:43
  3. 4开头的5位 “时间戳“
  4. python批量下载网页的方法
  5. 中科院计算机技术研究所石晶林,专家人才库数据----中国科学院计算技术研究所...
  6. 文盘Rust -- 领域交互模式如何实现
  7. 邻接矩阵:构造有权图
  8. 中文停用词库分享-哈工大停用词表、百度停用词表等
  9. Word中使用正则表达式进行查找和替换(高效进行文字处理)
  10. 期货做空是什么意思?探讨期货做空和做多