1 条题解

  • 2
    @ 2020-03-01 23:20:24

    此题属于牛吃草问题,想要取到最多,那么直接下取整即可。只要知道数学思路,问题就迎刃而解了。我们把样例带入题目中,并转换成牛吃草问题。那么题目如下:
    有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃一天?
    数学解题思路如下:
    假设一头牛每天吃草一份,那么15头牛20天吃草为:15 X 20 = 300份。20头牛10天吃草为:20 X 10 = 200份。
    前者是在原有草的基础上,加上20天新草。后者是在原有草的基础上,加上10天新草。
    300-200=100份,20-10=10天。
    说明10天长草100份,那么每天长草10份,够10头牛吃一天。
    答案是这片牧场每天新生的草量可供10头牛吃一天.
    再继续想:10头牛每天专吃新长出来的草,那剩余的牛吃原有草,我们可以得到:
    原有草:(15-10)X 20 = 100份 或者 (20-10)X 10 = 100份
    现在我们把数学问题转换为代码实现,就很简单了。如果这样讲你还不会,那你的C语言水平就有待提升了!

    Code:

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int main()
    {
        int m1,n1,m2,n2;//mi为牛的数量,ni为mi对应的吃草天数。 
        cin>>m1>>n1>>m2>>n2;
        int x=(m1*n1-m2*n2)/(n1-n2);
        cout<<x<<endl;
        return 0;
    }
    
  • 1

信息

ID
1001
难度
2
分类
数学 点击显示
标签
递交数
26
已通过
8
通过率
31%
上传者