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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 神之梦   /  2013-8-6 21:11  /  9055 人查看  /  87 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看题目。。。。
回复 使用道具 举报
我也回复
回复 使用道具 举报
  1. class WoShou
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.              int count=0;//定义握手计数器
  6.              for(int i =1;i<1225;i++){//定义循环人数,握手时双向的,a和b握手等同于b和a握手,i=1个人握手0次,i=2个人握手1次,i=3个人握手3次类推出count+i-1次
  7.                
  8.              count=count+i-1;
  9.              if(count==1225){//判断握手达1225次后break
  10.              System.out.println("参加宴会的人数为"+i);
  11.              break;}
  12.                 }
  13.         }
  14. }
  15. ---------- java ----------
  16. 参加宴会的人数为50

  17. 输出完成 (耗时 0 秒) - 正常终止
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 哥们,名额满咯

查看全部评分

回复 使用道具 举报
{:soso_e179:}
回复 使用道具 举报
答题时间3小时是什么意思啊
回复 使用道具 举报
我来了~
回复 使用道具 举报
瞅瞅。。。。。。。。
回复 使用道具 举报
  1. /*
  2. * 宴会上一共有1225次握手,设每一位参加宴会的人对其他与会人士都有一样的礼节,那么与会人士有多少?(用程序体现)
  3. */
  4. public class Hands {
  5.         public static void main(String[] args)
  6.         {
  7.                 for(int person=2;;person++ ) //建立一个循环用来人数的增加,直至满足条件,跳出循环
  8.                 {
  9.                         int count = 0; //用来统计握手的次数
  10.                         for(int x=person;x>0;--x) //握手的次数=人数-1+人数-2……………………1;
  11.                         {
  12.                                 count = count + x;
  13.                                
  14.                         }
  15.                         if(count == 1225) //如果握手次数为1225次
  16.                         {
  17.                                 System.out.println("此次宴会的人数为:"+(person+1)+"人"); //打印人数,因为内部循环是先减后用所以此处打印人数需要+1
  18.                                 break;//跳出循环
  19.                         }
  20.                         /*
  21.                          * 打印结果为50人
  22.                          */
  23.                 }
  24.         }
  25. }

复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 EYE_SEE_YOU 于 2013-8-7 13:59 编辑

class 握手1225次求人数        
{
        public static void main(String[]args)
        {
        int x=2;
        for(int y=0;y<1225;x++)
                {
                y=y+x-1;
                }
        System.out.println("握手1225次时的总人数是:"+x-1+"人");
        }
}
自己想的,没有验证过,不知道对不对这个因为标点符号中英文没转换好,cmd里报错了一下
回复 使用道具 举报
本帖最后由 EYE_SEE_YOU 于 2013-8-8 07:22 编辑

public class haha        
{
        public static void main(String[]args)
        {
        int x=2;
        for(int y=0;y<1225;x++)
                {
                y=y+x-1;
                }
        System.out.println("握手1225次时的总人数是:"+(x-1)+"人");
        }
}
输出   握手1225次时的总人数是17人偶尔重编太快了没仔细查就会出小差错

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 哥们,是1225,不是122,下次再这么粗心就.

查看全部评分

回复 使用道具 举报
本帖最后由 chslzj 于 2013-8-7 15:34 编辑

听说贼简单
  1. <div class="blockcode"><blockquote>public class Test{
  2. public static void main(String[] args){
  3. /**
  4. * 第n位来的客人需要与前面的人都要握手,握n-1次,当握手次数达到1225,或者更多时,程序就结束了。更多时,说明这种情况不可能出现
  5. */
  6.                 int sum=0;
  7.                 int i=0;
  8.                 for(i=1;sum<1225;i++)
  9.                         sum+=(i-1);
  10.                 //多加了一,减掉
  11.                 i--;
  12.                 if(sum>1225)
  13.                         System.out.println("没有找到合适人数");
  14.                 else{
  15.                         System.out.println("宴会人数为"+i+"人");
  16.                 }
  17. }
  18. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 是不是贼简单啊

查看全部评分

回复 使用道具 举报
看看什么样子的,先顶一个
回复 使用道具 举报
本帖最后由 lengmianluocha 于 2013-8-7 17:33 编辑
  1. public class shakehands {
  2.         /**
  3.          * 由分析可知:若有x人,则握手的次数:(x-1)*x/2
  4.          * <p style="line-height: 30px; text-indent: 2em;"></p>  */
  5.         public static void main(String[] args) {
  6.                 int num = 1;
  7.                 do {
  8.                         num++;
  9.                 }
  10.                 while (!((num - 1) * num / 2 == 1225));//使用do while 循环算出与会人数。
  11.                 System.out.println("共有: " + num + "人");
  12.         }

  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
求题,上分
回复 使用道具 举报
public static void main(String[] args) {
                int number = 1225;
                int peoplenum = test(number);
                if (peoplenum == 0) {
                        System.out.println("答案不存在");
                }else {
                        System.out.println("人数为"+peoplenum);
                }
        }

        private static int test(int number) {
                // TODO Auto-generated method stub
                //握手总数计为total
                int total = 0;
                for (int i = 1; i < number; i++) {
                        total += i;
                        //如果当前握手总数正好跟题目提供的握手总数相等则返回当前握手的人数
                        if (total == number) {
                                return i+1;
                        }
                }
                //如果没能找到与题目所匹配的握手总数,则返回0
                return 0;
        }

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
先看看~~~~~~~~
回复 使用道具 举报
本帖最后由 木偶_freedom 于 2013-8-7 21:48 编辑
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {               
  5.                 for(int i=2; i<1225; i++) //利用穷举法
  6.                 {
  7.                         if((i*(i-1))/2==1225) //利用逻辑抽取出其规律 易得每个人共握手 n-1 次,而A与B握手也相当于B与A握手 易得还要除以二
  8.                         {
  9.                                 System.out.println("则参加聚会的人有" + i + "个。"); //打印聚会人数
  10.                                 break;
  11.                         }
  12.                 }
  13.         }
  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

回复 使用道具 举报
  1. public class test {
  2.            public static void main(String[] args)
  3.            {
  4.                    for(int i = 1;i <=100; i++)//循环
  5.                   {
  6.                           if(i*(i-1)/2 == 1225) //判断等式是否成立,如果成立那么i就是参加宴会的人数
  7.                   {
  8.                   System.out.println(i);//输出结果
  9.                   break;//跳出循环
  10.             }
  11. }
复制代码
输出:50

点评

下次记得注意就好,题目是做对了的  发表于 2013-8-7 22:20
回复 使用道具 举报
要养成良好的编码习惯。嘿嘿,记住了,我还以为会再加次分~{:soso_e120:}

点评

由于这次题目比较简单,所以。。。。。。  发表于 2013-8-7 22:32
回复 使用道具 举报
版主,谢谢了!努力进行中!!顶顶顶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马