摘 要:《孫子算經(jīng)》是我國古代優(yōu)秀的數(shù)學(xué)經(jīng)典名著之一,是我國古人用他們的聰明智慧總結(jié)出的寶貴的數(shù)學(xué)精品,其中有一些大家熟知的數(shù)學(xué)題目“物不知數(shù)”、“雞兔同籠”等都是出自這部著作。C語言是計算機編程語言,應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力。我們借助C語言的功能編程求解這些中國古代經(jīng)典的數(shù)學(xué)問題,將古人智慧和現(xiàn)代科技加以融和,把這種方法運用到教學(xué)上,讓學(xué)生們在學(xué)習(xí)過程中感受到古人的聰明才智的同時,又能激發(fā)學(xué)生的學(xué)習(xí)興趣。
關(guān)鍵詞:《孫子算經(jīng)》;C語言;編程求解;學(xué)習(xí)興趣
中圖分類號:TP312
《孫子算經(jīng)》是我國古代數(shù)學(xué)經(jīng)典名著之一,是我國古人聰明智慧的結(jié)晶。書中包括被西方數(shù)學(xué)史上稱為“中國的剩余定理”的著名數(shù)學(xué)題“物不知數(shù)”等題目。C語言是一種計算機程序設(shè)計語言,它既具有高級語言的特點,又具有匯編語言的特點。我們借用C語言編程可以趣味求解《孫子算經(jīng)》中的這些題目,從而活躍課堂氣氛,調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,使枯燥的計算機編程得變生動有趣。
1 物不知數(shù)
物不知數(shù)出自《孫子算經(jīng)》,是該書卷下第26題:“今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問物幾何?答曰:‘二十三”。意思是:一個數(shù)被3除余2,被5除余3,被7除余2,求這個數(shù)。
C語言編程求解法:
如果我們利用C語言編程來求解這個問題,我們只需按邏輯思路,編寫好程序,然后在裝有C語言環(huán)境的計算機上運行一下,結(jié)果就出來了。
用C語言編程如下:
從結(jié)果列表中可以看出符合要求的數(shù)有無限個。其中最小的是23。
如果將程序中語句“while(m<=100)”中的“100”增大到“500”,再次運行程序可以得到符合條件的數(shù):128、233、338、443。也就是隨著m取值范圍加大,給出的符合條件的數(shù)會更多。但其操用非常簡單,真正起到事半功倍的作用。
2 雞兔同籠
雞兔同籠出自《孫子算經(jīng)》,是該書卷下第31題,這道題后來傳到日本就變成了“鶴龜算”。書中這樣敘述了該題:“今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?”意思是:有若干只雞、兔同在一個籠子里,如果從上面數(shù),有35個頭;如果從下面數(shù),有94只腳。求出籠中各有幾只雞和兔?
下面我們用C語言編程求解如下:
如果我們在此程序運行過程中輸入其它的頭數(shù)和腳數(shù),當(dāng)輸入的數(shù)值不正確,會出現(xiàn)提示“數(shù)據(jù)有錯,不能作為雞兔同籠問題”,當(dāng)輸入的數(shù)值是一組適合的數(shù),就會馬上給出新組合的兔子個數(shù),雞的只數(shù)。
《孫子算經(jīng)》是我國古代較為普及的一本數(shù)學(xué)名著,其中許多的數(shù)學(xué)題目具有一定的代表性,并且一些趣味性的題目在后世廣為流傳。上面所述二個題目是《孫子算經(jīng)》中的二個代表,將數(shù)學(xué)解法改用C語言編程求解,可以省去了大量的人工計算,并且運算結(jié)果更快更精確,同時也是將古人智慧和現(xiàn)代科技進行的融合,運用在教學(xué)上,會活躍課堂氣氛,提高教學(xué)質(zhì)量,還也可以讓學(xué)生們在學(xué)習(xí)的過程中感受古人的聰明才智,激發(fā)學(xué)生的學(xué)習(xí)主動性、積極性和學(xué)習(xí)興趣,使枯燥的C語言編程變得生動有趣。
參考文獻:
[1]楊治明,雷亮.C語言程序設(shè)計教程[M].北京:人民郵電出版,2012(03).
[2]周二強.新編C語言程序設(shè)計教程[M].北京:清華大學(xué)出版社,2011(09).
[3]謝膺白.數(shù)據(jù)庫基礎(chǔ)與Visual FoxPro 9.0程序設(shè)計[M].西安:西安電子科技大學(xué)出版社,2008(07).
作者簡介:劉順清(1971-),男,河北唐山人,研究生,副教授,主要從事計算機軟硬件教學(xué)和研究工作。
作者單位:唐山工業(yè)職業(yè)技術(shù)學(xué)院,河北唐山 063020