不知道做的对不对,做错了楼主也请给点鼓励分吧:#
- import java.util.*;
- public class Test
- {
- public static void main(String args)
- {
- int i,k,m,n,num[50];
- Scanner in=new Scanner(System.in);
- System.out.println("请输入人数n=");
- for(i=0;i<n;i++)
- {
- num[i]=num[i+1];
- }
- i=0;k=0;m=0;
- while(m<n-1)//m是指出局的人数,因为有n个人,最后剩下一个人,所以最多出局(n-1)个人,构成循环
- {
- if(num[i]!=0)
- {
- k++;//这个号没有出局,就报数,计数器加1
- }
- if(k==3)//报3的出局
- {
- num[i]=0;
- k=0;
- m++;
- }
- i++;
- if(i==n)
- {
- i=0;
- }
- }
- while(num[i]==0)
- {
- i++;
- System.out.println("最后留下的号码为"+num[i]);
- }
-
- }
- }
复制代码 |