(C++)有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
(C++)有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
#include<iostream>
#include<iomanip>
using namespace std;int main() {//num[50]:存储参加游戏的总人数int i, k, m, n, num[50], * p;//输入参加游戏的总人数cout << "input n:" <<endl ;cin >> n;//将数组首元素赋给指针p = num;//给数组赋值for ( i = 0; i < n; i++){*(p + i) = 1 + i;}i = 0; //用于循环 k = 0; //用来记录报数的数m = 0; //用来记录淘汰的人数//如果参加游戏人数没剩下最后一个人就继续报数while (m<n-1){//报数,每报一次,k加1,数组元素为0的不报数if (*(p + i) != 0) k++;//如果报数人数达到3,就将记录报数的k清零,并将报数为3的元素值改为0if (k==3){*(p + i) = 0;//将报数为3的元素值改为0k = 0;//将记录报数的k清零m++;//用来记录淘汰的人数}i++;//循环次数//判断循环是否结束了一轮if (i==n){i = 0;//重新将循环次数清零,以便下轮游戏}}//查询最终剩下的是哪个while (*p==0){p++;}cout << *p;return 0;
}
(C++)有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。相关推荐
- c/c++ 有n个人围成一圈, 顺序排号。从第1个人开始报数(从1~3报数), 凡报到3的人退出圈子, 问最后留下的人原来排在第几号。
解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...
- 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位
有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成 #include <stdio.h> in ...
- 有n个人围成一圈 顺序排号 java_java基础编程题有n个人围成一圈顺序排号
下面给大家带来的这道编程题可以算得上是一道非常基础的java编程题目,刚刚开始接触java编程的小伙伴一起来看看具体的题目以及解题方法吧. 下面是具体的题目,题目还是非常的简单的. 一.题目 有n个人 ...
- 有n个人围成一圈 顺序排号 java_java有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出...
public class Test { public static void main(String[] args) { // 测试数据 ArrayList list = new ArrayList( ...
- c语言约瑟夫环问题,C++_详解约瑟夫环问题及其相关的C语言算法实现,约瑟夫环问题
N个人围成一圈 - phpStudy...
详解约瑟夫环问题及其相关的C语言算法实现 约瑟夫环问题 N个人围成一圈顺序编号,从1号开始按1.2.3......顺序报数,报p者退出圈外,其余的人再从1.2.3开始报数,报p的人再退出圈外,以此类推 ...
- 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本
https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...
- ACMNO.38 C语言-报数 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
题目描述 有n人围成一圈,顺序排号. 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.`在这里插入代码片` 问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样 ...
- python n个人围成一圈,Python练习代码实例69-有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的...
Python 练习实例69 题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 程序分析:无. 程序源代码:#!/usr/bi ...
- c语言报数问题程序,转圈报数问题(C语言):有n个人围成一圈,顺序排号……...
问题描述: 有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. 题目分析: 这道题目是我们在日常生活中也能经常见到的一种报数小游戏.首 ...
最新文章
- 生态伙伴 | 股书入驻飞书,提供一站式股权激励方案设计及管理服务
- 什么是javabean,它与java的区别是什么?(转)
- 利用CORS实现跨域请求--转
- HanLP极致简繁转换详细讲解
- 无线网卡的Master,Managed,ad-hoc,monitor等模式
- php dirtoarray,PHP Ds\Stack toArray()用法及代码示例
- 你的专业 VS 你妈口中你的专业
- java压缩_Java压缩
- Linux命令Man解释:PPPD(8):点对点daemon协议
- 成功编译Webkit-cairo
- virtualbox报错:Failed, trying without DKMS的解决方案
- Office 2007 打开故障 The setup controller has encountered a problem during instll
- 沈大海38节jquery强化教程2016视频下载
- Excel自定义函数
- 宇视警戒球人形检测告警配置
- Xcode:崩溃堆栈符号化,定位崩溃
- Spring事件发布机制
- php中关于文件操作的面试题,php面试题及答案
- 五个好用的网络协议分析工具
- Qt中Enter键实现跳转按键功能