我要用100元来买100斤的三种水果,分别是0.5元每斤的苹果,0.8元每斤的橙子,2.1元每斤的桃子,请问三种水果各是

3个回答

  • 0.5x+0.8y+2.1z=100

    x+y+z=100

    照理说是无穷解,但是这里有个隐藏条件,x、y、z是正整数,所以就有限起来了,当然结果还是很多

    这里先这样看,100*0.5=50,100*0.8=80,100*2.1=210

    所以桃子肯定有,问题是多少斤,基本上可以肯定在10斤以上(剩余79斤,太多),30斤以下(剩余37斤,太少)

    由于都是小数点后一位,以10斤为基础单位吧

    所以假设是20斤

    0.5x+0.8y=58,x+1.6y=116

    x+y=80

    0.6y=36,y=60,x=20

    得到一个解

    20斤苹果,60斤橙子,20斤桃子

    这种题目用隐枚举法最好做(在一定的逻辑工作后有选择的枚举),像这里的范围可以肯定10斤~23斤的,最多只要计算13次

    如果一定要公式之类的算,先把z看作常数

    x+y=100-z

    0.5x+0.8y=100-2.1z

    0.6y=((200-4.2z)-100+z)=100-3.2z

    然后

    z=(100-0.6y)/3.2=(500-3y)/16=31+(4-3y)/16

    接着由于z和y都是正整数,y的取值就有特点了

    首先一眼就看出来,当y=-4,z=32,然后y要变大,把增加的y剥离出来看

    3y/16,所以y必然是以16为单位递增的,那么y的数量都出来了

    y=12+16(k-1),k属于自然数

    这样z也能得到递推式子,z=29-3(k-1),k属于自然数

    那么进而,x=100-y-z=100-12-16(k-1)-29+3(k-1)=59-13(k-1),k属于自然数

    然后可以用xyz属于自然数再作k上限

    29-3(10-1)=2,59-13(5-1)=7,综上所述,k属于自然数,且,k属于[1,7]

    总共有7组解

    嘛,总之这种算法就麻烦了,懂否?