关于买球的数学题

来源:百度知道 编辑:UC知道 时间:2024/07/04 15:15:07
用100元买了大,中,小共100个球,已知大的每个10元,中的每个3元,小的每个0.5元。请问,大,中,小球各买了多少?(要完整的解题,尤其是过程,帮帮忙想一想)

设大中小球各有X,Y,Z个

10X+3Y+0.5Z=100
X+Y+Z=100
去掉Z化简得
19X+5Y=100
当X=1时 Y不是整数
当X=2时 Y不是整数
当X=3时 Y不是整数
当X=4时 Y不是整数
当X=5时 Y是整数=1
此时Z=94
所以大中小为5,1,94

很多答案了,不就是和百钱买百鸡的情况吗?
你上网上找百钱买百鸡就可以看到别人详细的解题过程了
可以通过编程得出:
#include<iostream>
using namespace std;
void main()
{
int x,y,z;
for(x=0;x<10;x++)
{
for(y=0;y<33;y++)
{
for (z=0;z<200;z++)
{
if(x+y+z==100&&10*x+3*y+0.5*z==100)
cout<<x<<" "<<y<<" "<<z<<endl;
}

}
}
}
答案为:
0 20 80
5 1 94

如果用方程解,可用楼上的方法
如果用算术解,可这样做:
先假设100个球全都是小球,则一共是50元,然后用替换法,把小球换成中球或大球,这样总价就会变多,渐渐接近100元,情况有三种:
1、 两个大球换两个小球可以让总价变多10*2-0.5*2=19元
2、 两个中球换两个小球可以让总价变多3*2-0.5*2=5元
3、 一个大球和一个中球换两个小球可以让总价变多(10+3)-0.5*2=12元
现在50元再增加50元就可以变为100元
综合考虑三种情况:50能拆成19*2+