黑马程序员——约瑟夫环问题

RK3572-Android16-记录一次OTA升级失败解决方案 这里记录一次解决RK3576 Android16 OTA 用Recovery 升级失败的一次解决案例,将部分经验作为总结。本次OTA升级耗时了几天,最终是RK给出的解决方案,再加上经验来解决了其它部分问题新平台,高一点的Android版本,可能本身有bug,多请教平台来,不要蒙着干,干不出来的。 阅读详情
---------------------- android培训、 java培训、期待与您交流! ----------------------/**
*李见黎
*2012-3-14
*约瑟夫环问题
*/


public class  Josephu
{
public static void main(String[] args) 
{
CycLink cl=new CycLink();
cl.setLen(5);
cl.CreateCyc();
cl.Show();
cl.setK(2);
cl.setM(2);
cl.Play();
}
}
/**
 * 循环列表类
 * @author 李见黎
 *
 */
 class CycLink
{
int Len;
Child firstChild=null; //初始化第一个元素对象,第一个指针不变
Child temp=null;     //定义一个游标,非常有用

int k=0;
public void setK(int k)
{
this.k=k;
}

int m=0;
public void setM(int m)
{
this.m=m;
}
public void setLen(int len)
{
this.Len=len;
}
/**
* 创建循环链表
*/
public void CreateCyc()
{
for(int i=1;i<=this.Len;i++)
{
if(i==1)
{//是第一个元素,将第一个对象的引用付给firstChild和temp
Child ch=new Child(i);
this.firstChild=ch;
this.temp=ch;

}
else
{
if(i==Len)
{//是最后一个元素
Child ch=new Child(i);
temp.nextChild=ch;
temp=ch;
temp.nextChild=this.firstChild;
}
else
{
Child ch=new Child(i);
temp.nextChild=ch; //游标指向下个
temp=ch; //游标移动
}
}
}
}
/**
* 执行约瑟夫算法
*/
public void Play()
{
Child temp=this.firstChild;
//1.找到开始元素K
for(int i=1;i<k;i++)
{//都是从1开始的
temp=temp.nextChild;
}
//2.数M个元素

while(Len!=1)
{
for(int j=1;j<m;j++)
{
temp=temp.nextChild;
}
//找到要出圈的前一个元素
Child temp2=temp;

while(temp2.nextChild!=temp)
{
temp2=temp2.nextChild;
}

//2.第M个元素出圈
temp2.nextChild=temp.nextChild;
temp=temp.nextChild;

this.Len--;
}
//最后一个元素
System.out.println("最后一个出圈的是:"+temp.num);

}
/**
* 显示函数
*/
public void Show()
{
Child temp=this.firstChild; //定义一个游标,可以使firstChild不改变,之改变游标就可以


do
{
System.out.println(temp.num);
temp=temp.nextChild; //移动tempt
}
while (temp!=this.firstChild);
}


}
/**
 * 元素类,属性有,序列号,指向下一个的引用
 * @author 李见黎
 */
 class Child
{
int num;
Child nextChild=null;  //非常重要,很难想到,创建指向下一个的指针


public Child(int num)
{
this.num=num;
}
}--------------------- android培训、 java培训、期待与您交流! ----------------------详细请查看: http://edu.youkuaiyun.com/heima
约瑟夫环问题的解决方案(C++版) 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 立即下载

相关推荐

Mixly/Arduino实战:WS2812点阵动态显示自定义图案与汉字

本文手把手教你使用Mixly和Arduino驱动WS2812点阵屏,实现自定义图案与汉字的动态显示。内容涵盖硬件连接、取模软件设置、高效数据处理技巧(巧用Excel)、Mixly图形化编程及Arduino代码解析,并深入探讨动态显示与滚动汉字原理,最后提供常见问题排查与性能优化心得,助你从零开始轻松玩转智能硬件。

weixin_29185199的博客 454

黑马程序员--约瑟夫环的问题

------- android培训、java培训、期待与您交流! ---------- 约瑟夫环是一个以前老师讲过的问题,现在归纳如下: m个人围成一个首尾相连的圈然,每个人都有从1到m的唯一顺序编号。第一个人开始报数,报到n的人出圈,然后由下一个人重新由1开始进行报数,直到所有的人都出圈为止。对于给定的m和n,求出所有人的出圈顺序.。 java实现代码如下: package ithei

u014182629的博客 400

PTA-浙大版 《Python程序设计》 第三章编程题目及答案

博主第一次写优快云的博客,所以排版上可能有些不尽人意,代码部分均为自己的思路,可能复杂或者考虑欠妥,欢迎大家一起讨论~ 第一题:大于身高的平均值 这里用了np数组求得平均数,当然for循环累加也是可以的 import numpy as np data = input().split() data = list(map(int,data)) avg = np.mean(data) for i in data: if i > avg: print(i,end = '

Legendwqs的博客 1万+

黑马程序员-C语言-约瑟夫环

/* 10、 耶稣有15个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:15人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。(C语言) */ #include <stdio.h> /* 思路: 1.用一个数组存放15个序号; 2.用number来表示数组中还存在的不是0的序号;

fuyao19920730的博客 729

Android Telephony主要模块及功能

Telephony的代码主要由五个模块组成 1.Telephony Frameworks 代码区域: frameworks/opt/telephony/ 其中主要的文件在如下目录 /frameworks/opt/telephony/src/java/com/android/internal/telephony/ 其中比较常见的有以下几类文件 1.BaseCommands、RIL构成R

泊客 7721

1小时读完100篇文献的正确打开方式

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。文献阅读与整理一般都是最先开始、却也最容易被低估的一步。很多学术同仁一开始就陷入越读越多、越读越乱的状态:论文下载了一大堆,但真正能用来支撑自己观点的内容却始终难以提炼出来。一方面,我们需要通过文献了解该研究领域的整体发展脉络,把握当前学界已经讨论到什么程度;

智能AI让学术科研更容易 49

约瑟夫环-循环链表实现

题目: 约瑟夫环的一种描述为 编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。 一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。 报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。 测试数据: n=7,7个人的密码依次为:3,1,7...

JxufeCarol的博客 1665

96.在 Vue 3 中使用 OpenLayers 探究加载 Point、Polygon 的极限

在前端 GIS(地理信息系统)开发中,OpenLayers 作为一个功能强大的 Web 地图库,广泛用于加载地图、渲染矢量数据(点、线、面)、叠加图层等场景。然而,当涉及到。

小彭的博客 1154

黑马练习之循环链表解决约瑟夫问题

黑马数据结构笔记之使用循环链表解决约瑟夫问题 1 思想:一个人从1依次喊一个数,喊到指定数时,该人退出队伍,下一个人重新从1开始喊。 代码实现: 1)头文件: #ifndef CIRCLELIST_H #define CIRCLELIST_H //挂钩结构体 typedef struct CSNode{ struct CSNode *next; }CircleSNode; //管理链表结构体...

weixin_44517656的博客 285

分布式训练中All-Reduce、All-Gather、Reduce-Scatter原理

Reduce-Scatter = 先对所有进程的数据做 Reduce(如 sum / mean),再把结果“切分”分发给各进程。(是 Reduce + Scatter 的融合操作。

comli_cn的博客 341

uniapp - 使用 <video> 播放视频黑屏,浏览器控制台报错: DOMException: The element has on supported sources.(详细完美解决方案)

uniapp video 视频播放黑屏,uniapp 报错DOMException: The element has on supported sources.,uniapp如何解决DOMException: The element has on supported sources.,uniapp使用video标签无法播放视频出现黑屏问题处理,uniapp解决video视频黑屏显示0秒,并且浏览器报错DOMException: The element has on supported sources.,un

✅ 精选推荐文章 7055

黑马程序员———C语言———【strlen()和sizeof()的区别、排序、算法】

1、strlen()是函数。 strlen()是以字符为单位计算字符串或字符数组的实际长度(不考虑末尾的\0),如果字符串字符数组中间有\0,则计算\0之前的长度。 如: char a[]="heima"; char b[]={'h','e','i','m','a'}; printf("a=%d\n",strlen(a)); //a=5 printf("b=%d\n",strlen(

雪碧i的博客 596

UWB:FiRa Consortium UCI Generic Technical Specification v1.1.0(1)- UCI架构和通用数据包头

如果大家学习过WiFi的SPEC,比如从我的资源里面下载 IEEE 802.11-2007,应该很容易发现,FiRa的spec定义实在是太差了。有现成的好例子不学,非得自己来一套,搞一堆新的名词,其实都是一个意思。比如GID,OID等,而且GID、OID是最先出现的,但是对应表格 还得去附件的最后一项去找。 FiRa是UWB联盟,希望跟WIFi联盟学习一下,把UWB做大做强,而不是自成一派,自命不凡。

Ankie资深技术项目经理 2434

黑马程序员--c语言练习:亚瑟夫环

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@...

weixin_33937778的博客 242

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

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【213天】黑马程序员27天视频学习笔记【Day23-下】

叨逼叨两句 插。。没办成。又得等。 累死了。 23-04:按层级打印 注意那个lev的小细节 package com.test.demo001; import java.io.File; import java.util.Scanner; /** * @author wangtao * 1. 获取所有文件和文件夹,返回File...

weixin_34221276的博客 162

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

具身智能 2026:启元人形机器人开发者生态的“安卓时刻”来了吗

一个贯穿全文的问题:人形机器人开发者生态,是否正从「封闭垂直」走向「开源平台化」?本文以开源底座的公开数据为标尺,盘点 SDK、URDF、仿真与技能分发的开放程度,并落回启元机器人的开源路径。所有关键数据均标注来源,文末附社区与学堂链接。

在北风吹起的时候加入我们的队伍 在秋雨到来的时候成为彼此的温暖 758

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送

橘子,计算机视觉方向工程师,深耕 AIGC 与多媒体处理领域,专注技术实用化落地。本文为原创内容,转载请注明来源与作者。优快云 首发 | 版权所有 © 2026。

下载资源或查看教程前,请务必阅读置顶的《免责声明》 536

Android 14 SELinux策略深度解析

init 的全局公开约束(如 neverallow init execute_no_trans,放 public 才能约束所有分区的规则)这就是"哪些可见"的强制机制。alps_s0(MTK 工程)的 device/mediatek/sepolicy/basic/ 提供。所有分区(system/system_ext/product/vendor)都可引用。init的公开约束、跨分区共用的 type/attribute/neverallow。——vendor 的 .cil 只能引用 plat 的。

新时代农民工 105

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 281

Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存

二十多个模块业务高度相似却各有差异,核心矛盾在于“统一与灵活”的平衡。通过角色接口组合(如IProjectAware、IVoiceAware)实现能力按需注入,新增功能零侵入;用模板方法锁定生命周期流程,确保顺序一致;结合@CallSuper与工厂方法,既约束关键逻辑,又保留子类自由。最终实现:骨架统一、填空自由,管得住业务,又不侵入业务。

mmsx990的博客 396

Android Message源码阅读

本文梳理了Android Handler机制中Message的核心设计:链表结构、消息复用池(sPool)及回收机制,重点解析了异步消息与同步屏障(SyncBarrier)的协同机制。当主线程需优先处理UI绘制等高优先级任务时,系统通过postSyncBarrier插入屏障,使Looper跳过普通同步消息,优先执行标记为异步的UI渲染任务,确保帧率流畅。该机制是保障Android界面响应性的关键技术之一。

u012116089的博客 196

安卓部署Linux性能实测:一颗移动处理器,能否胜任日常 Linux 开发?

本文通过在一加Ace5上部署NimoteCode的ARM64 Linux环境,测试了其在CoreMark、SQLite编译及并行构建中的表现。结果显示,尽管单核性能约2.34GHz,多核扩展比达6.15×,但优化编译耗时仍高达35秒,反映移动处理器虽具备一定开发能力,却受限于文件系统开销与运行环境(如PRoot)。实际开发中,非优化构建效率较高,而并行编译可显著提速。结论:安卓手机可作为轻量级开发辅助工具,但无法替代桌面环境,真正价值在于便携性与即时响应,而非全功能替代。

一个不知名码农的专栏 300

Android 开发入门实践(九):把新闻数据与页面状态交给 ViewModel

本文记录第110—117课学习成果:将页面标题、新闻列表及选中编号逐步迁移至NewsViewModel,通过ViewModelProvider获取实例并读取数据。页面调用ViewModel方法处理选择与返回,实现状态管理解耦。过程中纠正了对Activity重建机制的误解,并厘清mutableStateOf的可观察性与ViewModel对象生命周期的区别,深化了对Compose状态更新机制的理解。

Easyhood的博客 219

CTF 命令执行题学习笔记:终端特殊字符 $IFS 与 %09 的用法(HelloCTF RCE-labs)

空格被过滤时:用%09(TAB)或$IFS代替空格关键词被过滤时:用通配符?或字符类[f]拼出被禁的词,让 WAF 在原始字符串里看不到它,shell 在执行时再展开这类技巧在后续的命令执行题里会反复用到,建议亲手在靶机上敲一遍感受一下。

YY888888_的博客 541

云手机私有化部署完整方案:基于ARM服务器搭建私有安卓云集群

ARM 服务器是私有化安卓云集群最优硬件底座,原生架构匹配 Android,高密度、低损耗,非常适合企业内网场景。整套私有化方案的核心,从来不是 “跑起来安卓”,而是隔离可控、可审计、可运维、可扩容。两条路线各有取舍:开源自建灵活、门槛高;商用私有化交付开箱即用、安全能力完备,是当前企业生产环境主流方案。六边云手机私有化方案,补齐了自建方案在驱动适配、管控平台、审计合规、信创适配上的短板,适合对数据主权、内网隔离有强需求的政企、自研 App、垂直行业客户。

a598652的博客 327
下一篇: 黑马程序员-猴子吃桃问题-
Accipiter
博客等级 码龄17年 27粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值