A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© binglin 中级黑马   /  2015-8-8 22:45  /  438 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
*第10题:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。
*     问:最后剩下的是100人中的第几个人?
**@author Zhangjian
*/
public class Test10 {
        public static void main(String[] args)
        {
                int a[]=new int[100];
                int k = 0,x=0,h=0;
                for(int i=0;i<100;i++)
                {
                        a[i]=i+1;
                }
                for(;x<100;)
                {
                for(int i=0;i<100-x;i++)
                {
                        ++k;
                        if(k==14-h)
                        {
                               
                                k=0;
                                h=1;
                                x++;
                                for(int j=i;j<99-x;j++)
                                {
                                        a[j]=a[j+1];
                                }
                        }
                       
                }
               
                }
                System.out.println("最后剩下的是100人中的第"+a[0]+"个人");
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马