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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mengqishiye 中级黑马   /  2016-4-10 22:39  /  1812 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 mengqishiye 于 2016-4-10 22:43 编辑

这个是最近刚发的教材~~~

开玩笑。。。

不过这个题 是今天班主发的一道题,今天是休息日,大家有的复习,有的做作业,有的出去玩了。
班主在qq群里发了这道题:



让大家娱乐的
一开始有人在纸上算除了一个结果,但是很多人觉得不过瘾,我想怎么不用程序做呢?
分析一下,给每个空位置 定义一个变量 然后for循环遍历整数 符合式子条件的输出,对吧!
好激动~
然后:


当当当当~~~
结果已经出来了,虽然是个简单的题,但是还是遇到了一些问题,比如我本来打算每个变量的取值范围为0-100,结果运行电脑好像没反应。。。
想了一下,估计是电脑运算不了这么大的吧。。电脑也会累。。
就把值改为0-20
还是不行,初始值不能为0,因为有一个除法运算,除数不能为0  !!
额。。好吧,改了这些总算是有结果了。。就是上图啦。不过我还是想这到底计算了多少次呢?搞得计算机这么累100的范围都不行
然后我就给加了好多输出语句看一看。。不看不知道一看吓一跳,如果取值范围0-30的话,当a1取到5的时候,a8已经执行了1000亿次!!!我的天。。。
当然时间也是需要很久。。然后我就又改回了0-20  这就是代码啦。(计数器用int竟然会不够用  *-*  。。)
这就是娱乐数学题啦,挺好玩的!
public class Test2 {
        public static void main(String[] args) {
                int count = 0;
                int count1=0;
                int count2=0;
                int count3=0;
                int count4=0;
                int count5=0;
                int count6=0;
                int count7=0;
                long count8=0;
               
                for(int a1=0;a1<20;a1++){
                        count1++;
                        if(count1%100000000==0)
                        System.out.println("a1= "+a1+" a1执行次数: "+count1/100000000+"亿");
                        for(int a2=0;a2<20;a2++){
                                count2++;
                                if(count2%100000000==0)
                                System.out.println("a2= "+a2+" a2执行次数: "+count2/100000000+"亿");
                                for(int a3=0;a3<20;a3++){
                                        count3++;
                                        if(count3%100000000==0)
                                        System.out.println("a3= "+a3+" a3执行次数: "+count3/100000000+"亿");
                                        for(int a4=0;a4<20;a4++){
                                                count4++;
                                                if(count4%100000000==0)
                                                System.out.println("a4= "+a4+" a4执行次数: "+count4/100000000+"亿");
                                                for(int a5=0;a5<20;a5++){
                                                        count5++;
                                                        if(count5%100000000==0)
                                                        System.out.println("a5= "+a5+" a5执行次数: "+count5/100000000+"亿");
                                                        for(int a6=1;a6<20;a6++){
                                                                count6++;
                                                                if(count6%100000000==0)
                                                                System.out.println("a6= "+a6+" a6执行次数: "+count6/100000000+"亿");
                                                                for(int a7=0;a7<20;a7++){
                                                                        count7++;
                                                                        if(count7%100000000==0)
                                                                        System.out.println("a7= "+a7+" a7执行次数: "+count7/100000000+"亿");
                                                                        for(int a8=0;a8<20;a8++){
                                                                                count8++;
                                                                                if(count8%1000000000==0)
                                                                                System.out.println("a1="+a1+",a2="+a2+
                                                                                " a8执行次数: "+count8/1000000000+"十亿"+",a7执行次数:"+count7+",a6执行次数:"+count6);
                                                        if(a1+a2-9==4 && a3-a4*a5==4 && a6+a7-a8==4 && a1+a3/a6==4 && a2-a4*a7==4 && 9-a5-a8==4 ){
                                                                                        count++;
        System.out.println("第"+count+"个 答案"+ "a1="+a1+" a2="+a2+" a3="+a3+" a4="+a4+" a5="+a5+" a6="+a6+" a7="+a7+" a8="+a8);
                                                                                }
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
}

14 个回复

倒序浏览
jwdream 发表于 2016-4-11 23:55
卧槽,看着好叼的样子

哈哈,其实很简单,不过也挺好玩
回复 使用道具 举报
aomingchao 发表于 2016-4-11 23:47
好厉害,真心的佩服你!!

加油 加油
回复 使用道具 举报
aomingchao 发表于 2016-4-11 23:47
好厉害,真心的佩服你!!

感谢,加油!
回复 使用道具 举报

感谢,加油!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马