iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >如何使用批处理解约瑟夫环应用题
  • 667
分享到

如何使用批处理解约瑟夫环应用题

2023-06-08 15:06:00 667人浏览 八月长安
摘要

小编给大家分享一下如何使用批处理解约瑟夫环应用题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目:   有二十九个女生(分别用1-29号来称呼)围成一圈玩报数游

小编给大家分享一下如何使用批处理解约瑟夫环应用题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

题目:
  有二十九个女生(分别用1-29号来称呼)围成一圈玩报数游戏,规则是这样的:从1开始数数,当数到3的这个人就退出游戏,而她后面的人接着从1数。。。如此一直到最后剩下一个人,现在知道最初是从13号女生开始的游戏,问最后剩下的会是第几号女生?
要求:
  1 用批处理解答
  2 代码简洁高效
  3 代码通用且不生成临时文件
加分原则:
  以思路为重(如思路独特,请简要说明)
  完全符合要求的加10分

  已有两套解决方案,见3楼more和6楼ieutk版主的代码,但个人认为这两套方案均不完美(见本人的跟贴评述),期
待完美方案的出现,大家加油了!!!

注:约瑟夫问题
  约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。
more:

代码如下:


@echo off
set "str=13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 2 3 4 5 6 7 8 9 10 11 12"
:again
for /f "tokens=1,2,4*" %%a in ("%str%") do (
if not "%%c"=="" (set "str=%%c %%d %%a %%b"&Goto :again) else (echo %%b&pause&exit)
)

 

ieutk:

代码如下:


@echo off
setlocal enabledelayedexpansion
for /l %%a in (12 -1 1) do set "str= %%a !str!"
for /l %%a in (29 -1 13) do set "str= %%a !str!"

:main
set "ie=0"
for %%a in (%str%) do set /a ie+=1
if %ie% neq 1 (
for %%a in (%str%) do (
set /a num+=1
if !num! equ 3 (
set "num=0"
set "str=!str: %%a =!
)
)
goto main
)
echo %str%
pause

 
batman:

代码如下:

@echo off&setlocal enabledelayedexpansion
for /l %%a in (13,1,29) do set "str=!str! #%%a#"
for /l %%a in (1,1,12) do set "str=!str! #%%a#"
:lp
for %%a in (!str!) do (
set /a n+=1
if !n! equ 3 set "str=!str: %%a=!"&set /a n=0
)
for /f "tokens=2" %%a in ("%str%") do if "%%a" neq "" goto lp
echo 最后剩下的是%str:#=%号&pause>nul

以上是“如何使用批处理解约瑟夫环应用题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何使用批处理解约瑟夫环应用题

本文链接: https://www.lsjlt.com/news/254529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用批处理解约瑟夫环应用题
    小编给大家分享一下如何使用批处理解约瑟夫环应用题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目:   有二十九个女生(分别用1-29号来称呼)围成一圈玩报数游...
    99+
    2023-06-08
  • Java使用单链表实现约瑟夫环
    本文实例为大家分享了Java使用单链表实现约瑟夫环的具体代码,供大家参考,具体内容如下 构建一个单向的环形链表思路 1.先创建第一个节点, 让first指向该节点, 并形成环形 2....
    99+
    2024-04-02
  • Java用单向环形链表来解决约瑟夫环Josepfu问题
    简单介绍 如果把单链表的最后一个节点的指针指向链表头部,而不是指向NULL,那么就构成了一个单向循环链表,通俗讲就是让尾节点指向头结点。 单向环形链表应用场景:Josephu(约瑟...
    99+
    2024-04-02
  • C语言数据结构中约瑟夫环问题如何解决
    本文小编为大家详细介绍“C语言数据结构中约瑟夫环问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言数据结构中约瑟夫环问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。问题描述约瑟夫环问题的...
    99+
    2023-07-04
  • Java数据结构与算法之双向链表、环形链表及约瑟夫问题深入理解
    目录一、双向链表二、环形链表及其应用:约瑟夫问题环形链表图示构建一个单向的环形链表思路遍历环形链表约瑟夫问题一、双向链表 使用带head头的双向链表实现 - 水浒英雄排行榜管理单向链...
    99+
    2024-04-02
  • 如何理解解WCF契约应用
    本篇文章给大家分享的是有关如何理解解WCF契约应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。现在我们来具体实现一个WCF契约的应用实例。让大家理论结合实现的操作一下,客户端...
    99+
    2023-06-17
  • 如何使用批处理解决数值排序问题
    这篇文章将为大家详细讲解有关如何使用批处理解决数值排序问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。a.txt中有20行随机产生的数列,如下: 2928326128601232462131283250...
    99+
    2023-06-08
  • 如何使用批处理参数
    这篇文章给大家分享的是有关如何使用批处理参数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息。 Cmd.exe 提供批处理参数扩展变量(...
    99+
    2023-06-09
  • DOS批处理命令For循环命令如何使用
    这篇文章主要介绍了DOS批处理命令For循环命令如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处...
    99+
    2023-06-08
  • 如何使用dos批处理文件
    本篇内容介绍了“如何使用dos批处理文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!if goto choice&nb...
    99+
    2023-06-09
  • 如何使用批处理more命令
    这篇文章主要介绍“如何使用批处理more命令”,在日常操作中,相信很多人在如何使用批处理more命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用批处理more命令”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • 如何使用批处理for命令
    这篇文章主要讲解了“如何使用批处理for命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用批处理for命令”吧!FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他...
    99+
    2023-06-08
  • 如何使用Spring Batch批处理框架
    这篇文章主要讲解了“如何使用Spring Batch批处理框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Spring Batch批处理框架”吧!1 前言Spring Batch是...
    99+
    2023-06-16
  • JAVA如何处理循环引用问题
    在Java中,循环引用指的是两个或多个对象相互引用,导致无法被垃圾回收器回收。循环引用可能会导致内存泄漏和性能问题。下面介绍几种处理...
    99+
    2023-08-16
    JAVA
  • BAT批处理中如何使用数组
    这篇文章主要介绍BAT批处理中如何使用数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!批处理指令中并没有原生支持数组,但这不代表不能模拟出来。来看下面的代码:SET Obj_Length=2 S...
    99+
    2023-06-08
  • 如何使用批处理bat更改hosts
    这篇文章将为大家详细讲解有关如何使用批处理bat更改hosts,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是Hosts:  Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将...
    99+
    2023-06-08
  • 如何使用常用批处理内部命令
    这篇文章主要介绍“如何使用常用批处理内部命令”,在日常操作中,相信很多人在如何使用常用批处理内部命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用常用批处理内部命令”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • 如何使用批处理实现开机更新桌面主题
    这篇文章主要介绍如何使用批处理实现开机更新桌面主题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!echo off set 主题路径=" " echo Win...
    99+
    2023-06-09
  • 如何使用批处理重置TCP_IP协议
    这篇文章主要为大家展示了“如何使用批处理重置TCP_IP协议”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理重置TCP_IP协议”这篇文章吧。在XP系统的ghost xp网络组件列表...
    99+
    2023-06-08
  • 如何使用bat批处理修改日期
    这篇文章主要讲解了“如何使用bat批处理修改日期 ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用bat批处理修改日期 ”吧!代码如下:@echo off SET&...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作