c1047: [编程入门]报数问题[报3退出]

2023-10-31

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

输入

初始人数n

输出

最后一人的初始编号

样例输入复制

3

样例输出复制

2

思路:约瑟夫环问题,需要考虑:1.成环(即当遍历到最后一个时,让他下一个为初始)

                                                      2.标记问题,代表退出

                                                      3.结束条件:本题为剩最后一人。

实现:for循环,无判别条件(即为无限循环),由循环内条件控制循环结束。成环问题。及最后    寻找问题(剩余最后一人,特判标记(1)。每次退出的人直接打上标记。(0))

代码:

#include<iostream>
using namespace std;
int main(){
	int  n;
     cin>>n;
    int a[1000],i,c,flag=0;
    c=n; //代替人数变量进行变化,控制循环 
	for (i=1; i<=n; i++)
		a[i]=1;   //标记。 
	for (i=1;;i++){ 
		if (i==n+1)
			i=1;//如果i超出了n个人,让他重新回到1 (围圈) 
		if (a[i]!=0) // 如果人在圈内	
            flag++;  // 报数加1
		else	
            continue;
		if (flag%3==0){//报3退出。 
			a[i]=0; // 退圈
			c--;// 人数--
		}
		if (c==1)//表示只剩下一个人在圈内 
			break;
	}
	for (i=1; i<=n; i++) 
		if (a[i]!=0)
			c = i;
   cout<<c;//输出第几个人 
	return 0;
} 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c1047: [编程入门]报数问题[报3退出] 的相关文章

随机推荐

  • 最完整梳理:SSL证书的诞生和历史

    HTTPS加密已经成为主流的网络传输协议 但是 SSL证书的诞生和历史你了解吗 跟着本文一起了解一下SSL证书的进化史 SSL TLS协议进化史 SSL协议 Secure Sockets Layer 安全套接层 是一套网络通信安全协议 具有
  • Nginx(二十一)nginx配置python

    一 scgi wsgi uwsgi 1 scgi gt 了解 SCGI是一种 与语言无关 的连接 web服务器 和 web应用程序 的方法 2 wsgi gt 协议 wsgi 一种 实现python解析 的通用 接口标准 协议 实现了 py
  • nginx的简单介绍 什么是nginx,为什么使用nginx,nginx的优点

    一 什么是nginx 1 Nginx是一款轻量级的Web 服务器 反向代理服务器及电子邮件 IMAP POP3 代理服务器 在BSD like 协议下发行 其特点是占有内存少 并发能力强 事实上nginx的并发能力在同类型的网页服务器中表现
  • Java高级面试题解析(二):百度Java面试题前200页(精选)

    基本概念 操作系统中 heap 和 stack 的区别 heap是堆 stack是栈 是两种不同的数据结构 堆是队列优先 先进先出 栈是先进后出 在java多线程中 每个线程都有自己的栈 不同的线程共享一个堆 在java内存中 栈中存放的大
  • 国庆在家写了个简易版的在线简历网站

    一个可在线编辑的简历页面 放在github Page上托管 在线编辑 可生成PDF 从此跑路没烦恼 目录 一 GitHub Page托管简历 二 修改简历 三 简历下载 一 GitHub Page托管 1 页面样式 这个简历单纯页面技术含量
  • tcpclient和tcplistener通信

    服务器和客户端的代码都在在vs中编写并运行的 功能上实现了一个客户端和服务器互发消息 如果哪位大神知道多个客户端怎么搞 请留个思路给我 感谢 服务器的代码 using System using System Collections Gene
  • Git commit格式 详解

    我们在使用git进行版本控制的时候 commit的格式是有要求的 我们可以先去看一些顶级项目他们的commit的格式是怎样的 angular在github上的commit信息 我们可以发现 commit都有一些前缀 比如说 feat tes
  • VRTK简要说明

    1 导入VRTK开发包 下方三个为基础控件 用于识别硬件设备以及相关配置 2 移动功能简介 3 ui交互事件 将VRTK UICanvas 组件添加到Canvas下可用ui所有事件 1 问题容易出现ui穿透 所以在做的时候要防止穿透 最好不
  • sqli-labs通关大全(更新至Less60)

    sqli labs通关 less1 less10 箭雨镜屋 CSDN博客 sqli labs通关 less11 less20 箭雨镜屋 CSDN博客 sqli labs通关 less21 less30 箭雨镜屋 CSDN博客 sqli la
  • config:fail,Error: 系统错误,错误码:63002,invalid signature

    经过半天的尝试 终于把这个解决了 本文章比较是和 前端用 hash分享下这个问题吧 看了好多文章都没解决了我的问题 直接上干货 1 首先出一张基本的问题图 2 针对上面这个图第2点内 hash 做个讲解 因为我前端用的 hash模式 一般网
  • 编码之Base64编码

    Base64编码 是一种基于 64 个可打印字符来表示二进制数据的方法 目前 Base64 已经成为网络上常见的传输 8 位二进制字节代码的编码方式之一 为什么会有 Base64 编码呢 因为有些网络传送渠道并不支持所有的字节 例如 传统的
  • 【Xilinx AX7103 MicroBalze学习笔记2】MicroBlaze 串口发送 Hello World 实验

    目录 实验介绍 硬件设计 Vivado部分 创建工程 搭建Block Design MicroBlaze部分 外围模块部分 时钟模块 Uart部分 管脚绑定 时钟约束 生成Bit流文件 软件设计 SDK部分 板级验证 总结 往期系列博客 实
  • stm32无人机-飞行力学原理

    惯性导航 是一种无源导航 不需要向外部辐射或接收信号源 就能自主进行确定自己在什么地方的一种导航方法 惯性导航主要由惯性器件计算实现 惯性器件包括陀螺仪和加速度计 一般来说 惯性器件与导航物体固连 加速度计测量物体运动的加速度 已知初始状态
  • Java分治算法经典案例之汉诺塔

    分治算法 思想 当我们求解某些问题时 由于这些问题要处理的数据相当多 或求解过程相当复杂 使得直接求解法在时间上相当长 或者根本无法直接求出 对于这类问题 我们往往先把它分解成几个子问题 找到求出这几个子问题的解法后 再找到合适的方法 把它
  • Unable to install “xxx“

    Unable to install xxx Xcode Could not inspect the application package macOS Version 11 4 Build 20F71 Xcode 12 5 1 18212
  • Ubuntu终端使用todesk命令

    Ubuntu终端使用todesk命令 todesk是一款免费的远程控制软件 支持Windows Linux Mac Android iOS等多种平台 可以实现跨设备的远程控制 文件传输 远程打印等功能 本文将介绍如何在Ubuntu终端使用t
  • matlab求图像杰卡德系数,Jaccard similarity coefficient for image segmentation

    This example shows how to segment an image into multiple regions The example then computes the Jaccard similarity coeffi
  • 免费的云服务器,大家推荐哪个呢?

    搭建一个云平台的成本还是很高的 但是就没有企业免费为公众提供服务的吗 其实免费的服务器是有的 各大平台都有 阿里云 腾讯云都有 只是受时间限制的 大多数是7天或者15天 但是某丰云却号称是永久免费的 其实它是有前提的 释放以后的数据也就永远
  • 第一课:使用C++实现图片去水印

    目录 1 功能概述 2 具体实现 2 1 导入OpenCV库和头文件 2 2 读入图像并显示 2 3 提取水印区域 2 4 重构去除水印后的图像 3 完整代码如下 4 实现效果 5 介绍几种PS去水印的方法 5 1 裁剪法 5 2 借图法
  • c1047: [编程入门]报数问题[报3退出]

    有n人围成一圈 顺序排号 从第1个人开始报数 从1到3报数 凡报到3的人退出圈子 问最后留下的是原来的第几号的那位 输入 初始人数n 输出 最后一人的初始编号 样例输入复制 3 样例输出复制 2 思路 约瑟夫环问题 需要考虑 1 成环 即当