雞兔同籠——算法詳解

藉助李開復老師的話來聊聊算法的重要性:「算法是計算機科學領域最重要的基石之一,但卻受到了國內一些程序員的冷落。許多學生看到一些公司在招聘時要求的編程語言五花八門就產生了一種誤解,認爲學計算機就是學各類編程語言,或者認爲,學習最新的語言、技術、標準就是最好的鋪路方法。其實你們都被這些公司誤導了。編程語言雖然該學,可是學習計算機算法和理論更重要,由於計算機算法和理論更重要,由於計算機語言和開發平臺突飛猛進,但萬變不離其宗的是那些算法和理論,例如數據結構、算法、編譯原理、計算機體系結構、關係型數據庫原理等等。在「開復學生網」上,有位同窗生動地把這些基礎課程比擬爲「內功」,把新的語言、技術、標準比擬爲「外功」。成天趕時髦的人最後只懂得招式,沒有功力,是不可能成爲高手的。」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

相關文章
相關標籤/搜索