一队人逢3出列

算法:N个人围成一个圈,逢3出列。求最后一人的编号。(约瑟夫环) C语言版: #include #include int main (int argc, char **argv) { int n,i,j,k,c; int *p; k=0; printf("please enter the number of the people:"); scanf("%d",&n); p = (int *) 阅读详情
开始是出列后就remove,后来发现太麻烦了。还是新建一个数组来记录状态

void solution(int n) {
		ArrayList<Integer> baoshu = new ArrayList<Integer>();
		int count = 0;
		int out = 0;
		boolean judge = true;
		int j = 0;


		boolean num[] = new boolean[n];


		for (int i = 0; i < n; i++) {
			baoshu.add(i + 1);
			num[i] = true;
		}


		while (judge) {
			if (num[j] == true) {
				count++;
				if (count == 3) {
					count = 0;
					System.out.println(baoshu.get(j));
					// baoshu.remove(j);
					// j--;
					num[j] = false;
					out++;
					

				}
			}
			j++;


			if (j == n)
				j = 0;
			if (out == n-1)
				judge = false;
		}


		for(int k=0;k<n;k++)
			if(num[k]==true)
				System.out.println(baoshu.get(k));
	}

10 人围坐成一圈报数淘汰游戏 10 人围坐成一圈(假设他们的编号沿顺时针方向依次为 1 到 10) 。编程序,使用数组来存放各数据(人员编号),从1号人员开始数起(沿顺时针方向),当数到 k 时(其中 k>1,由用户通 过 cin 输入指定),则该号人员被“淘汰出局”;接着仍沿顺时针方向从被淘汰出局者的下一人员又 重新从 1 开始数起,数到 k 后,淘汰第 2 个人;如此继续,直到最后剩下一个人时停止。请输出 最后所剩那一个人的编号,并输出淘汰过程的某种“中间结果数据”。 立即下载

相关推荐

一群人报数报到三的出列

学习 答案 C语言 报数

Java 逢三出列小程序

public class Count3Quit{public static void main(String[] args){boolean[] arr=new boolean[500]; //创建500个人的数组for(int i=0;i&lt;arr.length;i++){ //初始化500个人都在圈中 TURE 为在圈中 FLASE为出列arr[i]=true;}int lefCount ...

数据库天地 399

sldd数据字典导出为excel

sldd导出为excel

zpfjf的博客 2237

约瑟夫环,100个人围成圈圈,逢3退出,求最后剩下的人的编号(分别用数组和双向循环链表实现)

&gt;&gt;双向循环链表#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;typedef struct node{ int data; struct node *front; struct node *next;}list_t;//添加100个节点list_t *add_people(list_t *head, int data){ if(1 =...

gchengxuyuan的博客 5303

RV1126开发板性能实测:网络、温度与功耗全解析

本文对RV1126开发板进行了全面的性能实测,重点分析了网络性能、温度表现与功耗特性。测试发现UDP带宽可达500Mbps,但TCP性能受限于协议栈;散热设计对持续性能至关重要,大板子在AI推理和视频推流中表现更稳定。为嵌入式开发者提供了真实的选型参考和优化建议。

d3e4f的博客 267

应急响应之windows日志分析工具logparser使用

windows日志分析工具logparser使用介绍

u013930899的博客 8124

C语言-报数出列

目的:联系循环队列的使用 题目:有n个人排成一排,从左向右编号分别为1~n,从左向右开始报数“1,2,3,1,2,3···”,数1的出列,数2,3的站到队列的最后边。报数过程反复执行,直到n人全部出列。 代码: #include<stdio.h> int main() { int n; printf("请输入需要报数的总人数"); scanf("%d",&n); int k=0; printf("请输入需要报数的初始人的序号"); ...

qq_45762758的博客 1722

数字设计实验:RISC-V指令单周期CPU

本文旨在介绍RISC-V指令单周期CPU的设计思路和仿真实现(含代码)

2401_83740084的博客 2713

2020届vivo秋招笔试第2题-排队报数取数

/* 将N (N<10000) 个人排成排,从第1个人开始报数;如果报数是M的倍数就出列, 报到队尾后则回到队头继续报,直到所有人都出列; 输入描述:输入2个正整数,空格分隔,第一个代表人数N,第二个代表M:(例子:6 3) 输出描述:输出一个int数组,每个数据表示原来在队列中的位置用空格隔开,表示出列顺序 3 6 4 2 5 1 */ #include <iostream> ...

c+c++的博客 815

从软体机器人到鞋垫分析:Abaqus超弹性材料(Ogden模型)仿真配置全流程

本文详细介绍了Abaqus中Ogden模型在超弹性材料仿真中的应用全流程,涵盖从实验数据导入、参数拟合到模型构建与求解优化的关键步骤。特别针对鞋垫分析等生物力学场景,提供了单元选择、接触设置和并行计算等实用技巧,帮助工程师实现高精度仿真分析。

weixin_42525385的博客 400

zemax光线光扇图

通过入瞳某一坐标(PX,PY)的光线在像面上有唯一的位置(EX,EY),以EX,EY为纵坐标,以PX,PY为横坐标,分别建立坐标系,把通过入瞳的光线都在坐标系里描点就得到了光扇图。对于视场内任意一点,取其子午面内的光线,以光线在光阑面上的透射点坐标为横坐标,同时以该光线在像面上的坐标为纵坐标,描出所有点,构成的图形即为子午面光扇图。在焦点位置,曲线的斜率为0,也就是说,不管入射时的横坐标(光阑面上的位置)是多少,离轴多远,都将汇聚在焦点处。此时,子午面和弧矢面有不同的分布,两条曲线不重合。

fendoudecheng的博客 8098

队尾幸运编号

/*题目描述: N个人排成一队, 从1到5轮流报数, 报5的人是幸运者, 出列。报到队尾后, 从队首接着报,依次循环 问: 排在队尾的人是第几名幸运者 注: N为小于100000的正整数 例: 1人排成一队, 他就是第一名幸运者。 3人排成一队, 他就是第2名幸运者。 5人排成一队, 他就是第1名幸运者。 8人排成一队, 他就是第3名幸运者。 即求:N人排成一队, 队尾是第多少名幸运者 */ ...

line233的博客 327

C#实战:如何用Chart控件打造专业级数据可视化报表(附完整代码)

本文详细介绍了如何使用C#的Chart控件创建专业级数据可视化报表,涵盖柱状图、饼图和雷达图等多种图表类型的高级定制与交互增强。通过完整的代码示例,展示了从环境配置到动态数据绑定的全流程,助力开发者提升企业级应用的数据可视化能力。

ipfs8storage的博客 420

循环报数游戏,有n个人,每个人编号从1开始,因此得到编号到n。从1到3报数,报3的退出游戏,得到最后获胜人的编号;移除数组中重复的数据java

1、循环报数游戏,有n个人,每个人编号从1开始,因此得到编号到n。从1到3报数,报3的退出游戏,得到最后获胜人的编号 public class Exerse1{     public static int circleDelNum(int[] arr,int n){         int size=arr.length;//保存当前的有效数字个数         int count=0;//报...

ZQ_313的博客 1698

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

孟孟单单的博客 7万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

算法题解答——队尾幸运编号

题目描述: N个人排成一队, 从1到5轮流报数, 报5的人是幸运者, 出列。报到队尾后, 从队首接着报,依次循环 问: 排在队尾的人是第几名幸运者 注: N为小于100000的正整数 例: 1人排成一队, 他就是第一名幸运者。 3人排成一队, 他就是第2名幸运者。 5人排成一队, 他就是第1名幸运者。 8人排成一队, 他就是第3名幸运者。 代码如下: public class Solution { private static int fun(int N) { // num:队尾是第

weixin_52272771的博客 279

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

队尾幸运编号:N个人排成一队,从1到5轮流报数....(java实现)

题目描述: N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列。报到队尾后,从队首接着报。依此循环。 问:排在队尾的人是第几名幸运者? 注:N为小于100000的正整数。 例如: 1人排成一队,他就是第1名幸运者。 3人排成一队,队尾是第2名幸运者。 5人排成一队,队尾是第1名幸运者。 8人排成一队,队尾是第3名幸运者。 即求:N人排成一队,队尾是第多少名幸运者? 问题解析: 这...

yxf19034516的博客 1148

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

python约瑟夫环问题给十个学生编号报到3者出列_约瑟夫环问题:有n个人围成一圈,顺序编号。从第1个人开始报数(从1-3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?...

有n个人围成一圈,顺序编号。从第1个人开始报数(从1-3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?java代码如下:int n = 10;//n的取值int num = n;//记录剩余数个数int arr[] = new int[n];//标记剩余数的位置 0 代表存活,初始全部存活 1 代表删除int flag = 0; //标记报名,到三降0int del = 3;...

weixin_28705087的博客 1651

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

本人使用二维数组,第一维存放序号,第二维统统初始化为1(代表没有出圈,0则代表已经出圈)。C语言详细代码如下。 #include<stdio.h> int main(void) { int n,i,k=300,l=0;//k用于报数,可任意初始化为3的倍数。l用于统计有多少人退出圈子 printf("请输入人数:"); scanf("%d", &n); int a[2][n];//定义一个二维数组用于存放每个人的序号,以及是否出圈。 for (

qq_52216878的博客 297

算法练习题1----hdu1267“士兵队列训练问题”

文章目录前言一、题目描述二、解析三、具体代码 前言 这是一道有关链表应用的题目,非常经典。主要用到了链表的特性,即可以非常高效的进行插入和删除操作,和迭代器的应用。 一、题目描述 一队士兵报数:从头开始进行1至2报数,凡报到2的出列,剩下的向小序号方向靠拢,再从头开始进行1至3报数。凡报到3的出列,剩下的向小序号方向靠拢,以后从头开始轮流进行1至2报数、1至3报数,直到剩下的人数不超过,3人为止。 二、解析 首先题目中个人感觉有一个容易混淆的地方,这里的出列是在一整轮的报数完成后,再一起出列。 比如第一轮

weixin_45775703的博客 1353

奇安信编程题-----队尾幸运编号(Java)

40道选择(40分) 2道编程 (60分) 1. 队尾幸运编号 时间限制:C/C++语言 1000MS;其他语言 3000 MS 内存限制:C/C++ 语言65536KB;其他语言 589824KB 题目描述 N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列。报到队尾后,从队首接着报。依此循环。 问:排在队尾的人是第几名幸运者? 注:N为小于100000的正整...

青木宫的博客 992

奇安信笔试题-对尾幸运编号

题目描述:N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列,报道对尾后,从队首接着报,依次循环,问:排在对尾的人是第几名幸运值? 注:N为小于100000的正整数, 例:1人排成一队,他就是第1名幸运者;3人排成一队,对尾就是第2名幸运者;5个人排成一队,对尾就是第一名幸运者 输入:队伍总人数 20 输出:对尾者的幸运编号 4 int fun1(int N) { ve...

qq_33611947的博客 635

2021-10-18每日刷题打卡

2021-10-18每日刷题打卡 一本通——队列 1332:【例2-1】周末舞会 【题目描述】 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。 【输入】 第一行两队的人数; 第二行舞曲的数目。 【输出】 配对情况。 【输入样例】 4 6 7` 【输出样例】` 1 1 2 2 3 3 4 4 1 5 2 6

fnmdpnmsl的博客 148

士兵队列训练问题

h

A2105153335的博客 541

数据结构-队列

part 6 队列 1 定义 1.1 现象 示例1: 窗口排队 示例2: (多道程序运行时) 电脑处于疑似死机的状态,鼠标点什么似乎都没有用,双击任何快捷方式都不动弹。就当你失去耐心,打算重启时,突然它像酒醒了一样,把你刚才点击的所有操作 全部按照顺序执行了一遍。 这是因为操作系统中的多个程序需要通过一个通道输出,而按先后次序排队等待造成的。 示例3: 比如像移动、联通、电信等客服电话,客服人员相比用户总是少数。在所有的客服人员都占线的情况下,客户会被要求等待,直到某个客服人..

qq_40844674的博客 513

P3694 邦邦的大合唱站队

P3694 邦邦的大合唱站队

weixin_49373560的博客 164
上一篇: 正则表达式30分钟入门教程
下一篇: 《编程珠玑》第二章问题C:找出相同的英文单词(单词改变顺序可以互相转化即为相同)
ComputerRookie
博客等级 码龄15年 5粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值