有m个人围成一圈,顺序编号,编号固定,从1道n循环报数,遇到n出圈,依次类推。。。。。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[100],m,n,i,*p,call=0,out=0;
p=a;
cout<<"请输入圈的大小m:";
cin>>m;
cout<<"请输入报数n:";
cin>>n;
for(i=0;i<m;i++)
{a[i]=i+1;
cout<<a[i]<<setw(4);}
cout<<endl;
while(1)
{
if(*p!=0)
{
if(out==m) break;//判断有没有完全输出数组
call++;//报数的作用
call%=n;//形成1,2,,,,n-1,0的报数,等于0的时候输出
if(call==0)
{
cout<<*p<<setw(4);
*p=0;
out++;
}
}
//当指针p又回到a[0]所指的位置,先不能再将指针p位置后移不然会错开一位
if(p==&a[m-1])
{ p=a;//回到a[0]相当于指针后移了一位
if(*p!=0)
{
call++;
call%=n;
if(out==m) break;
if(call==0)
{
cout<<*p<<setw(4);
*p=0;
out++;
}
}
}
p++;
}
return 0;
}
有m个人围成一圈,顺序编号,编号固定,从1道n循环报数,遇到n出圈,依次类推。。。。。相关推荐
- c/c++ 有n个人围成一圈, 顺序排号。从第1个人开始报数(从1~3报数), 凡报到3的人退出圈子, 问最后留下的人原来排在第几号。
解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...
- C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题
1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈:下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序. 考虑问题: 报到T的人出圈,怎么表示出 ...
- 13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。
[绕圈报数] 1130 更新 ======== 一般化情况 13个人围成一圈,从第1个人开始顺序报号1.2.3,凡报到3的人退出圈子.找出最后留在圈子里的人原来的序号. 输出提示 "出圈成员 ...
- 题目:``N个人排成一圈,从第一个人开始报数,从1开始报,报到M的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的N,M,求出所有人的出圈顺序
题目:``N个人排成一圈,从第一个人开始报数,从1开始报,报到M的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止.对于给定的N,M,求出所有人的出圈顺序 public class ArrHa ...
- c语言出圈问题数学算法,出圈问题
首先理解题意 设有n个人围坐一圈并按顺时针方向从1到n编号. 从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止. ...
- c语言出圈问题10人,第38套题:c语言出圈问题分析.doc
第38套题:c语言出圈问题分析.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...
- 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数
[问题描述]有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子.如此循环,直到留下最后一个人.问留下来的人的编号. [输入形式] ...
- c语言有n个人围成一圈用指针,C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子...
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2021/05/20 00:22:21 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 有n个人围成一圈,按 ...
- 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)
问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. 问最后留下的是原来第几号的那位. ...
最新文章
- 3D MinkowskiEngine稀疏模式重建
- xxl-job 执行结果是空_空指针,段错误,这场面试我栽倒在这里了!
- android库项目管理,一个android工程代码多个差异化项目管理方法探讨
- 一文读懂哈希和一致性哈希算法
- delhpi7 tcombobox清楚重复项_专利数据统计中需要搞清楚的首要问题(2)
- CS231n(1):图片分类笔记与KNN编程作业
- boost::split()的使用方式
- 兔子--百度地图所需的jar+so下载地址
- POJ 3264 Balanced Lineup 【线段树】
- Linux输入子系统:输入设备编程指南 -- input-programming.txt
- Node.js webpack 加载器
- centos7部署gitlab遇到的坑
- 浏览器CookieSameSite
- 电脑没有声音提示“外设似乎没有插上”怎么办
- html调用如何使用jeecms库,JEECMS标签使用实例教程-序
- HTML简单的网页设计带超链接,HTML:让网页超链接拥有多姿多彩的下划线(1)-网页设计...
- SpringBoot整合Mybatis_plus学习笔记
- ZOJ-3939 The Lucky Week
- Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- Mysql IFNULL SUM 结合使用无效的问题