题目: 有 n个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数),凡报到 3的 人退出圈子,问最后留下的是原来第几号的那位。(模拟)
题目:
有 n个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数),凡报到 3的 人退出圈子,问最后留下的是原来第几号的那位。
思路:
题目说是排成一圈,可以看成一个数组的排列。用i从下标为1的地方开始遍历这个数组(个人习惯从下标为1处开始),每当i==n+1的时候,就给他重新设置成1,这样就实现了n个人围成一圈的效果。 再就是数组的每个元素在一开始都设置成1,表示在圈中,如果要退出圈子,就给它设成0。
代码:
#include <stdio.h>
int main()
{int a[50], i, n, count, flag=0;scanf("%d", &n);count=n;for (i=1; i<=n; i++)a[i]=1;//所有人都在圈内,为1 for (i=1; ;i++){if (i==n+1)i=1;//如果i超出了n个人,让他重新回到1 if (a[i]!=0) flag++;else continue;if (flag%3==0){a[i]=0;count--;}if (count==1)//表示只剩下一个人在圈内 break;}for (i=1; i<=n; i++)if (a[i]!=0)printf("%d", i);//注意这里是输出i,一开始写的a[i],调试了老半天 return 0;
}
题目: 有 n个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数),凡报到 3的 人退出圈子,问最后留下的是原来第几号的那位。(模拟)相关推荐
- 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位
有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...
- c/c++ 有n个人围成一圈, 顺序排号。从第1个人开始报数(从1~3报数), 凡报到3的人退出圈子, 问最后留下的人原来排在第几号。
解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成 #include <stdio.h> in ...
- 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本
https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...
- 题目:运用指针知识,有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的那位是原来的第几号?
题目:运用指针知识,有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的那位是原来的第几号? 一.需求分析 求出从未报到3的人的编号 二.思维节点 1.如 ...
- 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语言)有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
题目描述 有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样例输入 3 样例输出 2 ...
- 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。...
首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们! 然后今天群里突然有人提出了题目的这个问题: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人 ...
最新文章
- 关于c语言程序开发过程 下面说法错误的是,c语言笔试真题
- 【正一专栏】西班牙国家德比不再激情四射可更让人不舍
- 重磅推荐!大咖解读,重新定义 B2B 获客转化,引爆企业营销
- Windows/Linux安装python2.7,pycharm和pandas——《利用Python进行数据分析》
- Netty工作笔记0068---Protobuf机制简述
- Asp.Net把word文件转换为html文件
- 小程序canvas转base64方法 使用upng库 亲测没问题
- 雪人(snowman)
- html标点符号在首页,HTML常用的特殊符号前端使用的标点符号
- SQL AND OR 运算符的用法
- Mockplus: 让小白产品经理上手就用的原型图设计工具
- IT30: IT人创业项目路演!!!
- 机器学习---sklearn
- 三星a52屏幕刷新率设置方法分享
- 数模分析第五天---判别分析
- 初学者入门HTML2
- 链表的学习 day2
- wordpress插件_5个最佳WordPress插件来处理您网站上的字体
- OpenGL编程指南(第八版)第一个渲染三角形案例代码在win8双显卡电脑VS2015中运行方法总结
- Angular---学生信息管理系统