2037约瑟夫问题(C语言)

目录

一:问题

二:思路分析

三:代码


一:问题

二:思路分析

1.输出结果是按编号输出,所以要考虑数组,数组里面存的数是有编号的,所以把n个人放到数组中,让他们的编号也是1~n,数组大小未知,有提示的数据范围可将数组设计在大于1000的范围

2.我们要区分报数的人是不是具有报数的能力,即他之前没有报到过m,所以我们可以通过数组的值区分这个人是否可以报数,默认初始值是零,均可以报数,当一个人报到m是,将里面的值置为1,并将下标打印出来

3.结束的标志是,n =0,所以每打印一个下标n--,知道n=0,程序结束

4.在程序中我们设一个i作为下标,上来i先加一,从一开始,循环每执行一次,不管该下标是否可以报数,再次进入循环是i都要+1,此时就会出现一个问题一共有n个人,当i超过n呢?此时会循环从一开始在接着报数,所以i>n是,i = 1,重新从一开始判断

三:代码

#include <stdio.h>
//2037约瑟夫问题
int main()
{int arr[1005] = { 0 };int n = 0, m = 0;scanf("%d %d", &n, &m);int num = n;int i = 0;int s = 0;//统计报数while (num){i++;if (i > n)i = 1;if (arr[i] == 0){s++;if (s == m){num--;arr[i] = 1;s = 0;printf("%d ", i);}}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例057:基于微信小程序的马拉松报名系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

SQL语法系统性学习,关卡式进阶-学习笔记

学习笔记-SQL语法系统性学习&#xff0c;关卡式进阶 笔记参考&#xff1a;作者鱼皮 关卡式Sql语句学习体验网站 &#xff0c;网站开源代码 如果想本地体验语法&#xff1a;1.下载大佬开源代码&#xff0c;运行前端项目&#xff08;推荐&#xff09;&#xff1b; 2.或是自己使…

[云原生] Docker 入门指南:镜像、容器、卷和网络解析

Docker 是一种流行的容器化平台&#xff0c;它以其强大的功能和易用性在软件开发和部署领域广受欢迎。本文将带领您逐步探索 Docker 中的四个核心概念&#xff1a;镜像、容器、卷和网络。通过了解这些概念的是什么、为什么以及如何使用&#xff0c;您将能够更好地理解和利用 Do…

strings

在Go语言中&#xff0c;strings 包提供了许多用于处理字符串的函数。以下是一些常见的用法&#xff1a; 字符串拼接&#xff1a; package mainimport ("fmt""strings" )func main() {str1 : "Hello"str2 : "World"result : strings.Jo…

行为树保姆级教程(以机器人的任务规划为例

行为树 目录 什么是行为树(behavior tree)&#xff1f;行为树的相关术语 行为节点和控制节点不同类型的控制结点&#xff1a; 顺序节点选择节点并行节点装饰结点 机器人的例子&#xff1a;物体搜索 1&#xff1a;如果只存在一个地点A&#xff0c;那么行为树很简单&#xff0…

CSS第二天导读

1&#xff0c;Emmet语法 Emmet语法的前身是Zen coding&#xff0c;它使用缩写&#xff0c;来提高html / css 的编写速度&#xff0c;Vscode内部已经集成该语法 1.1&#xff0c;快速生成HTML结构语法 1.想要快速生成多个相同标签&#xff0c;加上*就可以了&#xff0c;比如 d…

物流实时数仓:数仓搭建(DWD)一

系列文章目录 物流实时数仓&#xff1a;采集通道搭建 物流实时数仓&#xff1a;数仓搭建 物流实时数仓&#xff1a;数仓搭建&#xff08;DIM&#xff09; 物流实时数仓&#xff1a;数仓搭建&#xff08;DWD&#xff09;一 文章目录 系列文章目录前言一、文件编写1.目录创建2.b…

iPhone 16 的电池供应可能来自印度

据英国《金融时报》报道&#xff0c;据报道&#xff0c;苹果已通知其供应链&#xff0c;包括中国德赛公司和台湾新普科技等电池供应商&#xff0c;其倾向于将 iPhone 16 的电池供应转移到印度。苹果鼓励供应商将现有产能迁往印度&#xff0c;以扩大该地区的生产规模。 鉴于电池…

Redis高级特性解析:持久化、主从复制与哨兵机制全面探讨

Redis持久化 RDB快照&#xff08;snapshot&#xff09; 在默认情况下&#xff0c; Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置&#xff0c; 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时&#xff0c; 自动保存…

Java使用Microsoft Entra微软 SSO 认证接入

1. Microsoft Entra Microsoft Entra ID 是基于云的标识和访问管理服务&#xff0c;可帮助员工访问外部资源。 示例资源包括 Microsoft 365、Azure 门户以及成千上万的其他 SaaS 应用程序。 Microsoft Entra ID 还可帮助他们访问你的企业 Intranet 上的应用等内部资源&#x…

2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 B题 数据中心冷出风口的设计 原题再现&#xff1a; 这是数据中心空调设计面临的一个问题。在一些数据中心&#xff0c;计算机机柜是开放的&#xff0c;在一个房间里排列成三到四排。冷却后的空气通过主管进入房间&#xff0c;并分为三到四个…

神经网络中梯度消失 以及梯度爆炸的原因已解决办法

深度神经网络中的梯度消失和梯度爆炸是两个常见的问题&#xff0c;它们都会导致网络训练过程中的梯度无法有效传播或者传播过于剧烈&#xff0c;从而影响网络的收敛性和性能。下面将详细介绍这两个问题以及解决方案。 梯度消失问题&#xff1a; 梯度消失指的是在网络的深层结…

python相关工具代码之网络图片下载并显示出下载图片保存到的地址

# codingutf-8 from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * import time import random import os import urllib.request from bs4 import BeautifulSoup 信号传参类型 pyqtSignal() #无参数信号 pyq…

【华为数据之道学习笔记】5-2华为数据湖的特点

华为数据湖是逻辑上对内外部的结构化、非结构化的原始数据的逻辑汇聚。数据入湖要遵从6项入湖标准&#xff0c;基于6项标准保证入湖的质量&#xff0c;同时面向不同的消费场景提供两种入湖方式&#xff0c;满足数据消费的要求。经过近两年的数据湖建设&#xff0c;目前已经完成…

centos7安装和卸载MySQL8.0

一.卸载Mysql 1.关闭MySQL服务 systemctl stop mysqld 2.使用 rpm 命令查看已安装的安装包 rpm -qa|grep mysql 3.使用yum卸载安装的mysql yum remove mysql mysql-server mysql-libs mysql-server 4.查询剩余的安装包 rpm -qa|grep mysql 这里是我的centos7上的mysq…

Docker容器数据卷

一、概念 1.定义 卷就是目录或文件&#xff0c;存在于一个或多个容器中&#xff0c;由docker挂载到容器&#xff0c;但不属于联合文件系统&#xff0c;因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。 卷的设计目的就是数据的持久化&#xff0c;完全独…

0-50KHz频率响应模拟量高速信号隔离变送器

0-50KHz频率响应模拟量高速信号隔离变送器 型号&#xff1a;JSD TA-2322F系列 高速响应时间&#xff0c;频率响应时间快 特点&#xff1a; ◆小体积,低成本,标准 DIN35mm 导轨安装方式 ◆六端隔离(输入、输出、工作电源和通道间相互隔离) ◆高速信号采集 (-3dB,Min≤ 3.5 uS,订…

谷歌上架或更新被拒审的可能原因有哪些?

众所周知&#xff0c;在Google play应用商店上架或更新应用时&#xff0c;开发者需要遵守谷歌的相关规定和政策&#xff0c;否则可能会导致审核不通过&#xff0c;甚至永久封号。 很多开发者在提交应用到谷歌Play商店或进行应用更新时&#xff0c;即便了解了Google Play商店的…

unity 双摇杆控制教程(方向和旋转)

使用工具&#xff1a; unity 2021.2.8f1c1 visual studio 2022 插件&#xff1a; Joystick Pack 准备工作&#xff1a; 1.新建一个plane&#xff08;作为地面&#xff09;&#xff0c;一个胶囊体&#xff08;作为玩家&#xff09;&#xff0c;并在胶囊体上添加刚体组件&am…

java实现冒泡排序及其动图演示

冒泡排序是一种简单的排序算法&#xff0c;它重复地遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。重复这个过程直到整个数列都是按照从小到大的顺序排列。 具体步骤如下&#xff1a; 比较相邻的两个元素&#xff0c;如果前…