有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(java)
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
我的思路就是输入的n把他从1到n输入到数组里去,然后最后剩下的人的序号就是数组仅剩的一个数。
具体看代码
希望有更好办法的请细嗦!
public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int arr[] = new int [n];for(int i=0;i<n;i++) {arr[i]=i+1;}int k=0;//用k控制数到第几个了while(n!=1) {for(int i=0;i<n;i++) {k++;if(k==3) {for(int j=i;j<n;j++) {//当k=3时将后面的数等于前面的数然后将k=3时的arr[i]给删除if(j==n-1) {break;//用来控制不超过长度}else {arr[j]=arr[j+1];}}n=n-1;//删除后总长度减1k=k-3;//重新开始数i--;//因为当前数已经删除所以需要将i调为删除的前一个数}}}System.out.println(arr[n-1]);//也可以直接写arr[0]sc.close();}
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(java)相关推荐
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成 #include <stdio.h> in ...
- 有n个人围成一圈 顺序排号 java_java基础编程题有n个人围成一圈顺序排号
下面给大家带来的这道编程题可以算得上是一道非常基础的java编程题目,刚刚开始接触java编程的小伙伴一起来看看具体的题目以及解题方法吧. 下面是具体的题目,题目还是非常的简单的. 一.题目 有n个人 ...
- c/c++ 有n个人围成一圈, 顺序排号。从第1个人开始报数(从1~3报数), 凡报到3的人退出圈子, 问最后留下的人原来排在第几号。
解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...
- 有n个人围成一圈 顺序排号 java_java有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出...
public class Test { public static void main(String[] args) { // 测试数据 ArrayList list = new ArrayList( ...
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理)。——C语言
1 概述 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理).--C语言 2 解法 //C程序设计第五版(谭浩强) / ...
- 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位
有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1报到3),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位
问题详情:有n个人围成一圈,顺序排号.从第一个人开始报数(从1报到3),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位? 我的代码: #include<stdio.h> int m ...
- 有n个人围一圈,顺序排号,报号游戏
网上关于这个问题的解法已经有很多了,我现在是把网上的一些加上自己的理解,套用为一个固定写法,当然理解最重要啦! 我也是最近才开始学指针的,欢迎大家留言学习讨论 报数游戏的普遍说法: 有10个人围一圈, ...
- n个小孩围成一圈,顺序报号,从第一个人开始报数(从1报到5),凡是报到5的人退出圈子,问最后留下的小孩原来是几号
n个小孩围成一圈,顺序报号,从第一个人开始报数(从1报到5),凡是报到5的人退出圈子,问最后留下的小孩原来是几号 #include<stdio.h> int main() {int i,k ...
- 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本
https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...
最新文章
- seaborn使用violinplot函数可视化水平小提琴图(Make Horizontal Violin Plot with violinplot in Seaborn)
- js 上传头像img
- 从Uber微服务看最佳实践如何炼成?
- Spring和MyBatis的整合
- APP技巧:推荐6款超级实用的APP软件,赶快下载试试吧!
- 【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集
- 建筑师 第一类斯特林数
- c++判断ftp服务器文件存在性判断_BitTorrent协议与传统文件分发协议对比
- 概率校准Probability Calibration
- sqlserver提权失败_利用mssql模拟登录提权
- sqlplus连接Oracle的正确语法
- 怎么从apk源码中查看服务器地址,反编译apk查看源码
- 具有相关关系的数据处理:线性混合模型与广义线性混合模型
- B 1002 写出这个数(简单字符串处理)
- 解耦原子范数最小化(Decoupled Atomic Norm Minimization)
- YAPI,一个神奇的接口管理平台
- 求偏导c语言,求偏导是什么?有什么用法?请举例说明。
- 大胖子走迷宫(蓝桥杯真题)
- 火柴棍能组成的最大数字
- 码隆科技在 CVPR 2019 主办商品识别大赛,等你来战!