鸡兔同笼——算法详解

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

今天咱们一块儿来看看经典的鸡兔同笼问题。linux

问题以下:数学中有个经典的“鸡兔同笼”问题,已知笼中的头共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;
}

原文来自:http://www.linuxprobe.com/chicken-rabbit.htmlspa

相关文章
相关标签/搜索