奥数之“牛吃草问题”C++实现

导读 最近在给小朋友补奥数课,顺便看了几道题目其中可以用“计算机算法”表示出来的。觉得写出来会比较集中,希望对大家有帮助。其实生活中编程处处都有,关键在于自己是否有一颗观察的心,下面让我们一起来看看吧~
问题如下:

有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供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++代码,所以,我写的最简单的版本。

下面使用C++语言编程实现该题目:
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;
}

如果需要转载,请注明出处:http://www.cnblogs.com/wongyi/

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/116055.html

(0)
上一篇 2021年8月27日
下一篇 2021年8月27日

相关推荐

发表回复

登录后才能评论