标签:bre blog scan 输入 参考 pre i++ next ==
题目:有n 个人围成一圈,顺序排号。从第一个人开始报数(从1 到3 报数),凡报到3 的人退出圈子,问最后留下的是原来第几号的那位。
int[] a = new int[100]; int p = 0; System.out.print("请输入一个整数:"); Scanner in = new Scanner(System.in); int n = in.nextInt(); int q = n; for(int i=0; i<n; i++) { a[i] = i+1; } for(int i=0; ; i++) { if( i==n )//当i++一直到n时,肯定有一些没有被选到,比如我们输入8,第一轮是3,6被赋值0,当i=8时,继续下一轮 { i=0; } if( a[i]!=0 )//我们下面定义的是当循环到三时,就赋值0,所以这边等0的不考虑在内 { p++; } else continue; if( p%3==0 )//这个就是从0一直加,到三的倍数就赋值为0,从而就达到我们的目的 { a[i]=0;//上面q=n;表明q==n,只有一个为0就减一,为下面做铺垫 q--; } if( q==1 )//当剩下最后一个就输出 { break; } } for(int i=0; i<n; i++) { if(a[i]!=0) { System.out.print(a[i]); } }
参考https://www.cnblogs.com/doudoublog/p/5028761.html
标签:bre blog scan 输入 参考 pre i++ next ==
原文地址:https://www.cnblogs.com/wbh1996/p/12753835.html