当前位置: 首页 > news >正文

C 练习实例69-约瑟夫环

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

代码:

#include <stdio.h>
int main()
{int n=8;int table[n];for(int i=0;i<n;i++){	//给数组元素赋初值table[i]=1;}int index=0;int baoShu=0;int cnt=n;while(cnt){index++;baoShu++;if(index>n){index=1;}while(table[index-1]==0){index++;if(index>n){index=1;}}if(baoShu==3){table[index-1]=0;printf("%-4d",index);cnt--;baoShu=0;}}printf("\n最后留下的是第%d号",index);return 0;
}

运行:

3   6   1   5   2   8   4   7
最后留下的是第7号

可参考b站视频:

69-约瑟夫环-1_哔哩哔哩_bilibili

http://www.lryc.cn/news/298447.html

相关文章:

  • 【Qt Design】界面介绍
  • Makefile编译原理 make 中的路径搜索_1
  • 蓝桥杯每日一题------背包问题(一)
  • 面试 JavaScript 框架八股文十问十答第八期
  • 【机器学习】单变量线性回归
  • 《计算思维导论》笔记:10.4 关系模型-关系运算
  • QT+OSG/osgEarth编译之八十四:osgdb_osg+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_osg)
  • 【Redis快速入门】初识Redis、Redis安装、图形化界面
  • Linux(Ubuntu) 环境搭建:Nginx
  • 快速手动完成 VS 编写脚本自动化:如何选取最高效的工作方式?
  • FAST角点检测算法
  • Python中使用opencv-python进行人脸检测
  • 牛客网 DP3跳台阶扩展问题
  • ARM汇编[1] 打印格式化字符串(printf
  • Java 集合、迭代器
  • 在 Docker 中启动 ROS2 里的 rivz2 和 rqt 出现错误的解决方法
  • 使用securecrt+xming通过x11访问ubuntu可视化程序
  • 红队打靶练习:HEALTHCARE: 1
  • Java IO:概念和分类总结
  • 【Linux】基本命令(下)
  • 腾讯云游戏联机服务器配置价格表,4核16G/8核32G/4核32G/16核64G
  • 面试经典150题——长度最小的子数组
  • 业务流程
  • ChatGPT Plus如何升级?信用卡付款失败怎么办?如何使用信用卡升级 ChatGPT Plus?
  • Spring 如何配置 bean (XML 方式)
  • 揭秘外观模式:简化复杂系统的关键设计策略
  • Nginx 命令(Ubuntu)
  • 从github上拉取项目到pycharm中
  • python从入门到精通(十八):python爬虫的练习案列集合
  • 2.12作业