wordpress视频下载,郑州seo询搜点网络效果佳,手机软件下载网站wap模板,四川网站建设服务题目描述有n人围成一圈#xff0c;顺序排号。从第1个人开始报数#xff08;从1到3报数#xff09;#xff0c;凡报到3的人退出圈子#xff0c;问最后留下的是原来的第几号的那位。输入初始人数n输出最后一人的初始编号样例输入3 样例输出2分析#xff1a;因为每次报3都会… 题目描述 有n人围成一圈顺序排号。从第1个人开始报数从1到3报数凡报到3的人退出圈子问最后留下的是原来的第几号的那位。 输入 初始人数n 输出 最后一人的初始编号 样例输入 3 样例输出 2分析因为每次报3都会被踢出队列当队列中只剩下一个人时报数停止所以可以使用数组来解决此题约瑟夫环问题当报3时将数组的数值赋0踢出人数加一直到只剩一人时停止。 import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner in new Scanner(System.in); int n in.nextInt(); int a[] new int[n]; int i0; for(i0;in;i){ a[i] i1; } int ko0; int num0; i0; while(ko!n-1){ if(a[i]!0) num; if(num3){ a[i]0; num0; ko; } i; if(ia.length) i0; } for(int j0;ja.length;j){ if(a[j]!0){ System.out.println(a[j]); } } }} 转载于:https://www.cnblogs.com/xuesujun/p/11335757.html