标题:一个关于 马的问题
只看楼主
liuhao645751
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-5-2
结帖率:0
 问题点数:0 回复次数:9 
一个关于 马的问题
100匹马 和100片瓦
 大马能背 3块
 中马背   2块
 小马 两个背 1块
 要用多少大马  中马 小马
这个  用递归怎么解决啊 小弟 初学 想请高手们指点
请在必要的地方 加点 注释 说明
2010-09-11 15:38
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:0 
谁出的题目,非要用递归来解决?
2010-09-11 16:52
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:0 
程序代码:
    public static void main(String[] args) {
        test(0,0);
    }

    public static void test(int b,int m){//b为大马数量,m为中马数量
        int s=100-b-m;
        if(s>=0 && 3*b+2*m+0.5*s==100){    //判断是否正好拉100片瓦,同时由于s是减出来了,所以不能为负数
            System.out.println("大马"+b+"匹,中马"+m+"匹,小马"+s+"匹");
        }
        //接下来增加中马的数量,并调用自身
        m++;
        if(m>50){
            m=0;
            b++;
        }
        if(b<=33){
            test(b,m);
        }
    }
2010-09-11 17:15
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:0 
程序代码:
public class HorseTest
{
    public static void main(String[] args)
    {
     int a, b, c;
     for (a = 1; a < 100/3; a++)
     {
         for (b = 1; b < 100/2; b++)
         {
             for (c = 1; c < 100; c++)
                 if ((a * 6 + b * 4 + c ==200) && (a+b+c==100))
                    System.out.println("大马:"a + "中马: " + b + "小马: " + c);
               
          }
      }
    }
}

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-09-11 17:16
liuhao645751
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-5-2
得分:0 
谢谢  解答  一会我去 试验一下  这道题  算出来的 结果 应该是  2匹大马 30匹 中马  68匹 小马
 去测试测试    用 递归写  的目的  是想来 熟悉  递归的用法
2010-09-11 17:57
huang5663290
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:23
专家分:45
注 册:2010-9-7
得分:0 
递归是什么??

我是一个小萝卜。。。。
2010-09-11 20:10
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:0 
以下是引用huang5663290在2010-9-11 20:10:01的发言:

递归是什么??
递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象.递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰.。
2010-09-11 20:46
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
得分:0 
这道题,怎么用递归啊? 求解
2010-09-12 01:30
vr4uvr4u
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2010-9-12
得分:0 
绝对牛啊,我得仔细研究一下,不过楼上是不是应该考虑小马不能是单数》》》》

2010-09-12 21:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320134-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.526864 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved