鸡兔同笼——算法详解

借助李开复老师的话来聊聊算法的重要性:“算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。”

今天我们一起来看看经典的鸡兔同笼问题。

问题如下:数学中有个经典的“鸡兔同笼”问题,已知笼中的头共30个, 脚共90只,问鸡和兔各有多少只?

数学解题实现:

设鸡有 X 只,兔有 Y 只,根据题意得到两个二元一次方程组:

X + Y =30

2*X+4*Y=90

然后解得X=15,Y=15。

下面编程实现:

#include 
using namespace std;
int main()
{
    int head,foot;
    cout<<"输入头和脚的个数:"<<endl; cin>>head>>foot;
    int X,Y;
    Y=(foot-2*head)/2;
    X=head-Y;
    cout<<"鸡有"<<X<<"只"<<endl;
    cout<<"兔有"<<Y<<"只"<<endl;
    return 0;
}

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

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

相关推荐

发表回复

登录后才能评论