丢手帕问题 java_java入门小程序—17人游戏(丢手绢问题) | 学步园
一、问题描述:
17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号。
二、问题提示:
使用一维数组,数组元素初始为1,从1开始把数字放进数组空间,若数组元素为3的倍数,则把其置0,循环下去直到计数器(counter)减为1,则跳出循环并输出其数组下标(加1即为编号)
三、参考代码:
//(2)17个人围成一个圆圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号
package com.java.job;
public class HandkerchiefQuestion {
public static void main(String[] args) {
int n = 13;// 人数
int counter = n;// 计数器
int num = 1;// 数数
int[] array = new int[n];//声明数组
for (int i = 0; i < array.length; i++) {//数组初始化
array[i] = 1;
}
loop: while (true) {
for (int j = 0; j < array.length; j++) {
if (array[j] != 0) {//如果数组元素不为0,则从1开始赋值
array[j] = num;
if (num % 3 == 0) {//如果赋给数组元素的数能够整除3,则把此数组元素置0,计数器减1(即踢掉一个人)
array[j] = 0;
counter = counter - 1;
if (counter == 1) {//如果最后只剩下一个人,跳出循环
break loop;
}
}
num = num + 1;
}
}
}
for (int k = 0; k < n; k++) {
if (array[k] != 0) {
System.out.println("最后赢家的编号为:"+(k + 1));
}
}
}
}
丢手帕问题 java_java入门小程序—17人游戏(丢手绢问题) | 学步园相关推荐
- Java 丢手绢游戏 求和_java入门小程序—17人游戏(丢手绢问题)
一.问题描述: 17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号. 二.问题提示: 使用一维数组,数组元素初始为1,从1开始把数字 ...
- java入门小程序—17人游戏(丢手绢问题)
一.问题描述: 17个人围成一个圈,编号为1~17,从第一号开始报数,报到3的倍数的人离开,一直数下去,直到最后只有一个人,求此人编号. 二.问题提示: 使用一维数组,数组元素初始为1,从1开始把数字 ...
- java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序
[Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...
- 视频教程-5小时零基础入门小程序云开发-微信开发
5小时零基础入门小程序云开发 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥29.0 ...
- 零基础入门小程序,实战经验分享
讲师介绍:连胜大佬曾经就职于点心移动 & 百度,折腾小程序也有段时间了,参与开发的"小小签到"小程序,在2017年荣获阿拉丁神灯奖.我公司开发了多个工具类小程序,已有四款小 ...
- 《微信小程序》入门小程序-商城小demo的实现
前言 承接上一篇<入门小程序>,希望通过这个简单的商城demo可以更好的学习并理解微信小程序的开发: (PS:本文接口和图片资源来自于某位老师的网课,为了防止说打广告,因此不放链接了,布局 ...
- 简单Python入门小程序
简单Python入门小程序 简单Python入门小程序 1.猜拳击小游戏,三次后结束.石头-0,剪刀-1,布-2,如果输入错误则提示错误输入. import random i=0 while 1:pe ...
- SpringBoot 入门小程序
SpringBoot 入门小程序CSDN下载 SpringBoot 入门小程序GitHub下载 老规矩,先看项目结构. 有必要参考前面的博客.maven构建web工程 我们构建好maven工程之后,用 ...
- H5网页游戏(js),游戏小程序,网页游戏引擎
采用了Three.js作为3D引擎库,结合tween.js作为配套的动画库,以及基于webpack的脚手架nowa链接作为技术支持.市面上比较成熟的3D库有Three.js和Babylon.js. B ...
最新文章
- 分享Kali Linux 2016.2第50周虚拟机
- JS异步模式与Promise模式
- Java obj与JSON互转(jackson)
- newifi mini固件_如何在vmware虚拟机中安装OpenWrt系统,含x86固件编译教程
- 什么叫事务?Java如何处理事务呢?
- HTTP 04 web 服务器
- Android 开发总结大全
- PageStateLayout
- Android 中文API (69) —— BluetoothAdapter[蓝牙]
- sql中如何将视图中某一字段相同的数据合并 不同内容的字段相加_Tableau基础如何合并你的数据?理解与逻辑(上)...
- modbus协议的常用测试工具
- LaTeX 常用符号大全(from wikipedia)
- 解析卷积神经网络学习笔记——魏秀参
- 狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发
- Linux+C 开发基础
- Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘 1
- 右键没有WinRAR压缩的解决方法
- 推荐学习方法——费曼技巧,以教促学,教学相长
- 国内镜像大全(部分)
- CentOS8安装NVIDIA显卡驱动、CUDA和Anaconda