js实现约瑟夫问题(数目的游戏问题编程)

2023-11-10

17世纪的法国数学家加斯帕在《数目的游戏问题》中讲了这样一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
		var person = new Array(30);//30个人
		person.fill(0);  //全部填充为0,0代表在船上,1代表扔下海里

		var i = 0;   //数组下标
		var num = 0;  //表示数到9,就被扔下去

		var counter = 0; //记录被扔下水的人数

		do{
			if(person[i%30]==0){
				num++;
			}
			if(num==9){
				person[i%30]=1;  //1代表扔下海里
				counter++;
				num=0;
			}
			i++;
		}while(counter<15)

		for(i=0;i<30;i++){
			if(person[i]==1){
				console.log(i+1);//5 6 7 8 9 12 16 18 19 22 23 24 26 27 30
			}
			
		}
	</script>
</body>
</html>

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

js实现约瑟夫问题(数目的游戏问题编程) 的相关文章

  • 如何打开新选项卡并更改当前页面

  • 如何使用多个 select2 框过滤表格?

    我正在尝试使用 和多个 select2 框的类来过滤表格 表格 HTML table class table tbody tr class kanban event Austin td td tr tr class csm event Ch
  • 有没有办法动态更改 jqGrid 的单元格值?

    这个问题可能已经被问过很多次了 但我想知道是否可以动态更改 jqgrid 的单元格值 我基本上有一个网格 它通过 JSON 字符串加载数据 在特定列的某些行上 该值可能为 null 因此 预先知道哪个行 ID 是一个问题 然后能够将 nul
  • JavaScript 字符串中的脚本标签[重复]

    这个问题在这里已经有答案了 我遇到一个问题 即 JavaScript 中带引号的字符串内有结束脚本标记 并且它正在杀死脚本 我认为这不是预期的行为 可以在这里看到这样的示例 http jsbin com oqepe edit http js
  • JAVASCRIPT - 为什么这个对象没有改变?

    function myFunc theObject theObject make Ford model Focus year 2006 var mycar make Honda model Accord year 1998 var x my
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 以下文档我无法创建 Vue.js 3 的实例

    The code https stackblitz com edit vue ttt file src main js https stackblitz com edit vue ttt file src main js 问题 我正在尝试在
  • 我可以在 GWT 中使用第三方 Javascript 库吗

    例如穆工具 用 js 编码对我来说很舒服 但显然不适合所有人 你当然可以 最好的事情就是给自己写一些好看的JavaScript 覆盖类型 http code google com webtoolkit doc latest DevGuide
  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • jquery 中的函数返回未定义[重复]

    这个问题在这里已经有答案了 我在 jquery 中调用的函数返回未定义 我检查了该函数 当我对其进行调试时 它返回正确的数据 function addToPlaylist component type add to pl value pl
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Chrome --app 相当于 Firefox\IE

    我有一个网络应用程序 客户要求单击不同按钮时更改浏览器窗口大小 我发现在那link https stackoverflow com questions 13436855 launch google chrome from the comma
  • 如何知道 .keyup() 是否是字符键(jQuery)

    如何知道 keyup 是否是字符键 jQuery input keyup function if key is a character such as a b A b c 5 3 2 etc not enter key or shift o
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h
  • JavaScript 阶乘防止无穷大

    我一直在 JavaScript 中使用这个函数来计算阶乘数 var f function factorial n if n 0 n 1 return 1 if f n gt 0 return f n return f n factorial

随机推荐

  • 7-10 查找指定字符 (15分)

    7 10 查找指定字符 15分 本题要求编写程序 从给定字符串中查找某指定的字符 输入格式 输入的第一行是一个待查找的字符 第二行是一个以回车结束的非空字符串 不超过80个字符 输出格式 如果找到 在一行内按照格式 index 下标 输出该
  • [CTFshow]吃瓜杯复现wp

    热身
  • 利用opencv通过点击鼠标获取一张图片上点的像素点坐标

    include stdafx h include opencv2 highgui highgui hpp include opencv2 imgproc imgproc hpp include
  • centos - 初始化服务器环境

    初始化服务器环境 包括 1 安装wget 2 安装vim 3 安装jdk 4 安装perl 前提准备 1 将建好目录 root soft 2 将jdk和perl的安装包上传到 root soft目录下 jdkjdk 7u65 linux i
  • 【MySQL】《狂飙》电视剧火了,如果程序一直狂飙,扛不住了,怎么办呢?

    程序如果狂飙了怎么办呢 狂飙 电视剧你看了吗 程序 狂飙 你担心吗 性能优化步骤 适合创建索引的情况 不适合创建索引的情况 Explain 性能分析 id说明 select type 说明 type字段说明 Extra说明一下 狂飙 电视剧
  • 工作学习之余如何学习Python?

    作为一个学生 可能平常除了上课也没有很多别的时间了 今天就给大家分享一下 工作学习之余 应该如何学习Python 1 明确目标 对于零基础的人而言 要明确你学习Python仅仅是为了满足好奇心 还是有工作需要 比如办公自动化的需要 转行的需
  • 史上最强最全网站资源整理

    一 找资源利器 胖次 http www panc cc 爱挖盘 http www iwapan com 盘多多 http www panduoduo net 盘窝窝 http www panww com 百度网盘搜索 http uzi8 c
  • Qt3.6.3编译pc版本的时候:collect2:ld terminated with signal 11

    Qt3 6 3编译pc版本的时候 collect2 ld terminated with signal 11 原因 是swap交换空间不够用 解决 扩大虚拟内存 具体参考下文 http hi baidu com seaeechou blog
  • PCB高速信号布线技巧

    转载 玩转嵌入式 2021 07 31 18 59 电源布局布线 数字电路很多时候需要的电流是不连续的 所以对一些高速器件就会产生浪涌电流 如果电源走线很长 则由于浪涌电流的存在进而会导致高频噪声 而此高频噪声会引入到其他信号中去 而在高速
  • gdb调试驱动模块

    众所周知 要想使用gdb调试 那么在编译的时候一定要加上 g选项 因为编译器默认是不加 g选项的 因此在编译模块的时候 我们需要在Makefile里面添加如下信息 EXTRA CFLAGS g 在添加了上面的信息后 我们编译出来的 ko文件
  • yolo.h5文件问题的解决 - 吴恩达深度学习:目标检测之YOLO算法

    在吴恩达深度学习系列视频 卷积神经网络第三周作业中 加载预训练模型时 yolo model load model model data yolo h5 你会遇到yolo h5文件找不到的情况 而当你去网上下载了一个yolo h5文件时 可能
  • Java解一元二次方程

    import java util Scanner public class Calculate public static void main String args 创建键盘录入 Scanner sc new Scanner System
  • 网站搭建——Linux服务器环境搭建

    网站搭建 Linux服务器环境搭建 网站搭建 Linux服务器环境搭建 一 MySQL8安装 1 卸载MariaDB 2 下载 3 解压 4 安装MySql包 5 启动MySql 5 MySql临时密码 6 MySql设置 7 MySql登
  • kotlin支持Android低版本吗,如何从Android项目中删除Kotlin支持?

    步骤1 从build gradle Project 文件中删除或注释掉这些行 ext kotlin version 1 1 51 My kotlin version might be different from yours classpa
  • 如何用Nodejs写接口

    有时候前端需调用接口测试功能 但是相关的接口还没有开发好 或者没有相应的数据 这时候怎么办呢 这里教大家使用nodejs express写自己的接口 首先安装express cnpm install express save 然后新建js文
  • 9 种方法使用 Amazon CodeWhisperer 快速构建应用

    Amazon CodeWhisperer 是一款很赞的生成式人工智能编程工具 自从在工作中使用了 CodeWhisperer 我发现不仅代码编译的效率有所提高 应用开发的工作也变得快乐起来 然而 任何生成式 AI 工具的有效学习都需要初学者
  • redis的5种数据类型

    1 redis的5种数据类型 string 字符串 可以为整形 浮点型和字符串 统称为元素 list 列表 实现队列 元素不唯一 先入先出原则 set 集合 各不相同的元素 hash hash散列值 hash的key必须是唯一的 sort
  • 动态规划+状态压缩思路解决旅行者问题

    问题描述 小明目前在做一份毕业旅行的规划 打算从北京出发 分别去若干个城市 然后再回到北京 每个城市之间均乘坐高铁 且每个城市只去一次 由于经费有限 希望能够通过合理的路线安排尽可能的省一些路上的花销 给定一组城市和每对城市之间的火车票的价
  • 区块链技术在日常生活有那些影响?

    区块链首先是一种社会思潮 它预示着人类社会转型 换代的新时代的到来 区块链的技术基础是分布式网络架构 正是因为分布式网络技术的成熟 去中心 弱中心 分中心及共享 共识 共担的组织架构 商业架构和社会架构才有可能有效建立起来 大概就是从工程技
  • js实现约瑟夫问题(数目的游戏问题编程)

    17世纪的法国数学家加斯帕在 数目的游戏问题 中讲了这样一个故事 15个教徒和15 个非教徒在深海上遇险 必须将一半的人投入海中 其余的人才能幸免于难 于是想了一个办法 30个人围成一圆圈 从第一个人开始依次报数 每数到第九个人就将他扔入大