Description

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

Input

初始人数n

Output

最后一人的初始编号

Sample Input

3

Sample Output

2

Note:

这题 “报数为3的人退出”,这个条件可以改为 “报数为k的人退出”,输入 n, k,而后将 while 里面的 m==3 改为 m==k 即可。

#include <stdio.h>
#define N 1000int main()
{int a[N], n, m, i, count;scanf("%d", &n);for(i=0; i<n; i++)a[i] = 0;//数组初始化0,表示圈内count = m = i = 0;while(count < n-1)//要出去n-1个人{if(a[i] == 0){m++; //从1开始报数if(m==3){a[i] = 1;//出圈count++;m=0;//重置,再从1开始报数}}i++;//遍历数组元素if(i==n)//数了一圈,从头来过i=0;}i=0;while(a[i])//找到a[i]==0 的下标i++;printf("%d", i+1);//数组下标再+1,才是圈子里的序号return 0;
}

1056: 约瑟夫问题【n人围成一圈,报数为3的人退出圈子,问最后留下的人原来的编号。】相关推荐

  1. 多人围成一圈报数问题!

    题目(摘自谭浩强的C语言):有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人. 解法思路:首先不要将思维局限在一圈人,可以先将n个 ...

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

    解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...

  3. 一群人围成一圈报数,3倍数的就退出,面试题

    这个题目指的是一群人,围成一个圈,然后一个接一个的报数,当数到3或者3的倍数时候就退出,知道最后一个人. 距离当人数为30的时候: public class CycleTest {          ...

  4. 一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!...

    package com.pb.demo1;import java.util.ArrayList; import java.util.List; import java.util.Scanner; im ...

  5. Java数组实现:一群人围成一圈从123报数 如果报到3就退出该圈中 直到最后一个人留下来!问其位置

    题目:一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!问留下这个人的位置是多少? 这是一个典型的约瑟夫环问题,接下来我只用Java的数组去实现,为什么用数组我觉得数组相对来说 ...

  6. 约瑟夫问题-N个人围成一圈循环杀掉第M个人

    约瑟夫问题-N个人围成一圈循环杀掉第M个人 约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报.如此反复,最后剩下一个,求最后的胜利者. 例如只有三 ...

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

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

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

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

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

    有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...

最新文章

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...
  2. python初学工资-python工资高还是java?
  3. 强化学习——值迭代和策略迭代
  4. java itextsharp_使用 c#中的 itextsharp 以 pdf 格式填充 xml
  5. MongoDB 自动删除集合中过期的数据——TTL索引
  6. android 蓝牙各种UUID (转)
  7. CentOS忘记普通用户密码解决办法
  8. 有间距的表格布局 table布局
  9. typecho怎么用html编写文章,为Typecho文章增加HTML标签支持
  10. JMETER badboy 录制脚本
  11. win11如何创建访客账户 windows11创建访客账户的设置方法
  12. NLP情感分析笔记(二):Updated情感分析
  13. java jama_java矩阵包jama的简单操作
  14. 【渝粤教育】电大中专建筑施工技术 (2)作业 题库
  15. js中最简单base64图片流实现自动下载
  16. Matplotlib数据可视化——图中图
  17. 重新装mysql出现乱码,数据库出现乱码的原因和解决办法
  18. 毕业后的档案问题——详细流程
  19. 文件设置默认打开方式
  20. 洛谷 1546 最短网络

热门文章

  1. p40pro升级鸿蒙后续航怎么样,华为p40续航怎么样
  2. HBase数据大批量导入方式总结和对比
  3. K8S太火了,花10分钟玩转它不香么?
  4. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址
  5. 015污点修复画笔工具,修复画笔工具,修补工具,内容感知移动工具和红眼工具...
  6. HTML---->常用标签链接特殊符号
  7. 三国无双之雄霸天下java下载,三国之雄霸天下
  8. JavaScript实战 别踩白块(钢琴块)游戏制作(一)
  9. 图片破损打不开如何修复?一招轻松恢复损坏图片!
  10. Google Earth Engine(GEE)提取点的土壤湿度