黑马程序员技术交流社区

标题: 第一个是个问题 有要挑战的吗 后边的是笑话 做不出来 也可以看看那 [打印本页]

作者: 美不美看腿    时间: 2014-4-25 09:33
标题: 第一个是个问题 有要挑战的吗 后边的是笑话 做不出来 也可以看看那
1----先说一个题吧  谁用 程序算法能解决  
         共有一百只马,一百片瓦,;
        一只大马一次能驮三片瓦;
        一只母马一次能驮两片瓦;
        三只小马一次驮一片瓦 ;
       问:多少只大马?多少只母马?多少只小马?一次能驮完一百片瓦?
     
2----下面说笑话
一次坐公交,一位漂亮MM上了车, 掏出了卡来刷卡,只听刷卡机回复:滴老人卡!全车人冻住,皆而望她。 她一脸黑线说:看什么,天山童老,没见过啊?         一大爷起身,说:来,大娘,您坐这。

3----
尼玛这有多大的仇啊???? #GIF#


4--------相亲现场,女:“我爱好广泛,我考过九级钢琴、七级手风琴、六级英语、二级计算机,你呢?” 男:“哦,我就拷过三级电影。”

5--------昨天妻子开车,快要撞上一辆卡车时,我大喊“快踩油门!” 谢天谢地,她果然踩足了刹车。
6----------老公老婆在一个被子里睡觉,老公打了一个喷嚏,,喷了老婆一脸。老婆说:再有情况时提前说一声,过了一会。老公大声说:预备! 老婆赶忙一头钻进被子里,只听“嘭”的一声,老公放了一个屁。。。。
7-------一犯人被执行枪决,由于子弹是伪劣产品,质量不好,第一枪没放出,接着又放了第二枪…三枪…这时犯人哭了:大哥你掐死我吧,太他妈吓人了!
8-------刚才有个人在骑自行车,路边有个排水沟大概一米,他一边骑车一边打电话。我们的车从旁边过的时候他一拐,眼看就往沟里去了,他身手不错,从车上跳下来直接跳进沟里了。
9--------和一朋友去钓鱼,不知道水里被谁丢了一胸罩被那朋友给钓起来了。那货直接丢了句,尼玛,刚刚钓到一只美人鱼,不过鱼跑掉了,胸罩被我勾住了!-_-||好吧,你牛
10--------邻居家的小女孩自豪的跟我说,姐姐我叠的兔子,好看吧?我说好看,然后她仍不死心的说,你拍一下嘛,我果断一掌下去,兔子稀烂了,顿时那孩子鼻涕眼泪狂彪冲着我吼:是叫你用手机,不是手。
11-----暗恋了班上一位女生很久了。今天我终于鼓起了勇气,对那女生说:“明天有空吗?我们一起去摘草莓吧!”结果她回答:“但是我不会爬树呀。”我瞬间石化了……
12----同事用手机看扣扣说说,突然口眼歪斜,神情异常激动,抢来一看是其女同学发表“胸不平,何以平天下”,一分钟后另一女同学回复“乳不巨,何以聚人心”这尼玛,神啊!
13------据统计,70后、80后孩子多是从河里、垃圾堆捡来的;90后孩子多是充话费送的;至于00后孩子,应该是从网站上下载来的吧。求大神预计一下10年后的孩子是怎么来的;
14------“局长,您好,听说你们统计局的人都不识数,是不是真的?” “我只想说五个字,一派胡言!!!
15------
捡来的小狗,它叫李二狗,每次给它拍照它都是这个眼神,忧桑中带鄙视,鄙视中带不屑


作者: 小周务商    时间: 2014-4-25 10:09
做不出。
作者: 2528870651    时间: 2014-4-25 10:38
搞了半天第一做出来了,不知道对不对。
  1. package Test;

  2. public class WaPianTest {
  3.         public static void main(String[] args )
  4.         {               
  5.                 for(int dama = 0; dama <=100; dama++)
  6.                 {
  7.                         for(int muma = 0; muma <=100-dama; muma++)
  8.                         {
  9.                                 for(int xiaoma = 0; xiaoma <=100-muma-dama;xiaoma++)
  10.                                 {
  11.                                         if(3*dama + 2 * muma + xiaoma/3  == 100  && dama+xiaoma+muma ==100)
  12.                                           System.out.println("dama = "+dama+"  xiaoma = " + xiaoma +"  muma = "+muma);
  13.                                        
  14.                                 }
  15.                         }
  16.                 }
  17.                
  18.                
  19.                
  20.         }
  21.        
  22.        

  23. }
复制代码

作者: kuroro自走核炮    时间: 2014-4-25 10:39
本帖最后由 kuroro自走核炮 于 2014-4-25 10:43 编辑
  1. class  ma
  2. {
  3.         /*1----先说一个题吧  谁用 程序算法能解决  
  4.          共有一百只马,一百片瓦,;
  5.         一只大马一次能驮三片瓦;
  6.         一只母马一次能驮两片瓦;
  7.         三只小马一次驮一片瓦 ;
  8.        问:多少只大马?多少只母马?多少只小马?一次能驮完一百片瓦?*/
  9.         public static void main(String[] args)
  10.         {
  11.                 int xiaoma = 0;//加起来需要有100匹马。所以大马和母马的数量确定后,小马就可以确定了。所以参与for循环遍历的只要有大马和母马就足够了。

  12.                 for (int dama=0;dama<101 ;dama++ )//for循环遍历大马数量0-100的各种情况。
  13.                 {
  14.                         for (int muma=0;muma<101-dama ;muma++ )//for循环遍历大马数量确定后母马数量的情况。
  15.                         {
  16.                                 xiaoma=100-(dama+muma);//根据大马和母马数确定每种情况下小马数量。
  17.                                 int wa=(3*dama)+(2*muma)+(xiaoma/3);//确定每种马匹数量的情况下,可以拉的瓦数量。
  18.                                 if(wa==100&&(xiaoma%3)==0)//返回拉的瓦数量是100的结果。并排除小马数量不是3的倍数的情况。
  19.                                 {
  20.                                         System.out.println(dama+"匹大马,"+muma+"匹母马,"+xiaoma+"小马一起可以片100片瓦。");
  21.                                         /*运算结果:
  22.                                                 0匹大马,40匹母马,60小马一起可以片100片瓦。
  23.                                                 5匹大马,32匹母马,63小马一起可以片100片瓦。
  24.                                                 10匹大马,24匹母马,66小马一起可以片100片瓦。
  25.                                                 15匹大马,16匹母马,69小马一起可以片100片瓦。
  26.                                                 20匹大马,8匹母马,72小马一起可以片100片瓦。
  27.                                                 25匹大马,0匹母马,75小马一起可以片100片瓦。*/
  28.                                 }
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码





作者: 2528870651    时间: 2014-4-25 10:50
有多余的马没有干活不行吗???
不是只要保证100匹马,一次拉了100片瓦吗???
作者: 2528870651    时间: 2014-4-25 10:53
dama = 0  xiaoma = 60  muma = 40
dama = 2  xiaoma = 61  muma = 37
dama = 4  xiaoma = 62  muma = 34
dama = 5  xiaoma = 63  muma = 32
dama = 7  xiaoma = 64  muma = 29
dama = 9  xiaoma = 65  muma = 26
dama = 10  xiaoma = 66  muma = 24
dama = 12  xiaoma = 67  muma = 21
dama = 14  xiaoma = 68  muma = 18
dama = 15  xiaoma = 69  muma = 16
dama = 17  xiaoma = 70  muma = 13
dama = 19  xiaoma = 71  muma = 10
dama = 20  xiaoma = 72  muma = 8
dama = 22  xiaoma = 73  muma = 5
dama = 24  xiaoma = 74  muma = 2
dama = 25  xiaoma = 75  muma = 0
作者: 龙健    时间: 2014-4-25 11:18
  1. package cn.itheima.luntan;

  2. import java.util.Arrays;

  3. public class Demo3 {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args){
  8.                 //需要i只大马,y只母马,z只小马
  9.                 //从没有大马开始,一百片瓦片,最多需34只大马
  10.                 //有算式3i+2y+1/3z=100   i+y+z<=100 i是可知的,当然方程就有解了,
  11.                 //这里考虑是刚好托完,不会出现说只有一片瓦,放了一匹大马去,而是放三头小马去。刚好托完,
  12.                 //个人理解,不知道对否
  13.         int y=0;
  14.                 int z=0;
  15.                 for (int i = 0; i <= 34; i++) {
  16.                          y=(200-2*(3*i))/5;
  17.                         for(  ;(i+y+z)<100; y++){
  18.                                 z=300-(3*3*i+6*y);
  19.                                 if(z<0){
  20.                                         z=0;
  21.                                         break;
  22.                                 }
  23.                                
  24.                                 System.out.println("大马="+i+",母马="+y+",小马="+z);
  25.                                 z=0;
  26.                         }
  27.                         y=0;
  28.                         z=0;
  29.                        
  30.                        
  31.                 }
  32.        
  33.         }

  34. }
复制代码



想了想这样是符合题意的
作者: 2528870651    时间: 2014-4-25 11:47
本帖最后由 2528870651 于 2014-4-25 12:12 编辑

他又没说一定要100匹马 ,都要去拉瓦,只要马的总数还是100匹而不是少于100就行。
这2匹小马拉不动一片瓦,这2匹小马就休息。我反正提供了100匹马来拉100片瓦了。其余的马能够拉动100片瓦就ok了 啊。而且还是100匹马在那里,有没有少。
你不要纠结于2匹小马拉不动一片瓦。
难道这2匹小马就不是马???


还有注意: 只有拉不动的情况适应。如果你说50匹母马,其余随便在搞50匹大马或小马,还是能拉100片瓦。
这个不行的,因为它可以拉动100多片瓦了。
只有这个小马不能被3整除,而马的整数是100,且拉动了100片瓦才行。



作者: 2528870651    时间: 2014-4-25 11:50
龙健 发表于 2014-4-25 11:18
想了想这样是符合题意的

你这个不行,有的结果马匹加起来不是100
作者: 2528870651    时间: 2014-4-25 12:45
好吧 既然既坚持的话,我保留我的意见。谢谢,再见。
作者: 龙健    时间: 2014-4-25 15:14
2528870651 发表于 2014-4-25 11:50
你这个不行,有的结果马匹加起来不是100

题目也没说非要一百匹马去托一百块瓦啊,只是说托一百块瓦得用多少匹马,题目都不说清楚、、、、
作者: zzkang0206    时间: 2014-4-25 15:18
牛人呀。。。。。。
作者: igi9009    时间: 2014-4-25 16:26
本帖最后由 igi9009 于 2014-4-25 16:27 编辑
  1. public class ma {
  2.         public static void main(String[] args){
  3.                 int xiaoma;
  4.                 int muma;
  5.                 int dama;
  6.                 for(xiaoma=0;xiaoma<101;xiaoma++){      //遍历大马,母马,小马的所可能的组合
  7.                         for(muma=0;muma<101;muma++){
  8.                                 for(dama=0;dama<101;dama++){
  9.                                         if((100==muma*2+dama*3+xiaoma/3)&&(xiaoma%3==0)&&(dama+xiaoma+muma==100)){
  10.                                        //当该组合满足刚好100只马以及刚好驮了100片瓦还有小马是3的倍数,打印该组合
  11.                                        System.out.println("大马"+dama+"只,母马"+muma+"只,小马"+xiaoma+"只");
  12.                                         }
  13.                                 }
  14.                         }
  15.                 }
  16.         }
  17. }
复制代码

我写的自认可能效率不是很高,遍历次数比较多。
大马0只,母马40只,小马60只
大马5只,母马32只,小马63只
大马10只,母马24只,小马66只
大马15只,母马16只,小马69只
大马20只,母马8只,小马72只
大马25只,母马0只,小马75只
作者: 2528870651    时间: 2014-4-25 17:51
龙健 发表于 2014-4-25 15:14
题目也没说非要一百匹马去托一百块瓦啊,只是说托一百块瓦得用多少匹马,题目都不说清楚、、、、 ...

恩 呢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2