黑马程序员技术交流社区

标题: 给大家来个逻辑题一第一题(为了技术分拼了) [打印本页]

作者: 陌城    时间: 2016-3-2 16:41
标题: 给大家来个逻辑题一第一题(为了技术分拼了)
现在共有100匹马跟100块石头,马分3种,大型马;中型马跟小型马。其中一匹大马一次可以驮3块石头,中型马可以驮2块,而小型马2头可以驮一块石头。问需要多少匹大马,中型马跟小型马?(问题的关键是刚好必须是用完100匹马)
作者: 18103958222    时间: 2016-3-2 19:58
大马5  中马 25 小马  75  。具体做法是 设大马 中马 小马 个数分别是X  Y Z 。 3x
作者: 18103958222    时间: 2016-3-2 20:00
大马 5 中马25  小马70
作者: 18103958222    时间: 2016-3-2 20:06
3X+2Y+0.5Z=100,X+Y+Z=100。各种消元法 就可以算出来了简化后是5X=Y,6X+Z=100,4X+2Y=Z
作者: 1836808    时间: 2016-3-3 09:57
class lianxi {
        public static void main(String[] args) {
                //System.out.println("Hello World!");
                for (int i= 1;i <= 33 ;i ++ ){
                        for (int j =1;j <= 50 ;j ++ ){
                                for (int z =1;z <=100 ; z ++){
                                        if ((i + j + z ==100) & (3 * i + 2 * j + z / 2 == 100)){
                                                if (z % 2 == 0){
                                                        System.out.println(i );
                                                        System.out.println(j );
                                                        System.out.println(z );
                                                }
                                               
                                        }
                                }
                        }
                }
        }
}
凑合这看一下把
作者: 超人d咖啡也加糖    时间: 2016-3-3 10:25
楼上说的对
作者: a9623a    时间: 2016-3-3 11:41
DECLARE @Bigger INT,@Mid INT,@Small INT
SET @Bigger = 0
WHILE @Bigger <= 100
BEGIN
       
        SET @Mid = 0
        WHILE @Mid <= 100 -@Bigger
        BEGIN
                        SELECT @Small = 100 -@Bigger - @Mid;
                        IF @Bigger * 3 + @Mid * 2 + @Small * 0.5 = 100
                        BEGIN
                                SELECT @Bigger AS Big ,@Mid AS Mid,@Small AS Small
                        END

                        SELECT @Mid += 1;
        END
       
        SELECT @Bigger += 1;
END
使用SQL SERVER 的方法
Big         Mid         Small
----------- ----------- -----------
2           30          68

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
5           25          70

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
8           20          72

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
11          15          74

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
14          10          76

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
17          5           78

(1 個資料列受到影響)

Big         Mid         Small
----------- ----------- -----------
20          0           80

(1 個資料列受到影響)
作者: 陌城    时间: 2016-3-3 19:48
a9623a 发表于 2016-3-3 11:41
DECLARE @Bigger INT,@Mid INT,@Small INT
SET @Bigger = 0
WHILE @Bigger

这用数据库写的吧  真是厉害啊




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