因此,我們必須事先告訴電腦,列出水仙花數的過程和方法,在程序設計中我們稱之為算法。算法的設計分兩個內容:一是尋找一種方法,二是描述實現這個方法的步驟。那麼,我們應該怎樣來實現尋找水仙花數呢?
首先,我們要思考方程中a,b,c的值是從哪裏來的。對於一個三位數,電腦不知道怎樣分離出各位上的數字,所以需要向電腦說明如何分離。
其次,我們要告訴電腦怎樣對方程是否成立進行判斷,如果方程成立,則顯示出這個數。
整個算法思想:讓計算機從100到999依次進行百位、十位和個位數字的分離,然後對方程的成立與否進行判斷,如果成立就顯示這個數字,然後取下一個數字進行判斷。
我們把這個算法編成程序,計算機就能快速找出三位數中的水仙花數了。
趣味推斷
除了上述算法,還有其他的算法嗎?
上述算法是從數字出發分離出a,b,c,那麼我們能不能換個角度從a,b,c拚出數字呢?作為百位上的a可以取1~9之間的任意數,而b和c可以取0~9之間的任意數,從已知的a,b,c,看100*a+10*b+c=a^3+b^3+c^3是否成立,如果相等就輸出。
用數字做出的那些詩
拋磚引玉
大多數人認為,詩歌屬於文學作品,而數字多在數學領域出現,詩歌與數字,是風馬牛不相及的兩回事兒。但實際上,很多詩人把數字用到了詩裏,比如“兩個黃鸝鳴翠柳,一行白鷺上青天”就是我們熟悉的名句。
詩人多非數學家,卻在詩中融入了數學題目,這不僅讓詩歌更加美妙,同時也普及了數學知識,真是讓人歎為觀止。
神秘登場
說到詩歌中的數字,就不能不說宋朝理學家邵雍(康節)的《蒙學詩》:“一望二三裏,煙村四五家,亭台六七座,八九十枝花。”寥寥幾筆,就使鄉村宜人的景色展現在讀者麵前。這首詩把十個數字嵌入詩中,可以說是開了“十字詩”的先河。現在小孩子學習從一到十,還經常背這首數學科普詩歌。
清朝的乾隆皇帝,特別喜歡作詩。有一次遊玩時,天降大雪,乾隆即興賦詩一首:“一片兩片三四片,五片六片七八片。九片十片十一片,飛入蘆花都不見。”這首詩四句裏竟然用了11個數字,形象地描繪了雪花入蘆花的情景。
清代有位叫何佩玉的女詩人,擅長用數字作詩,她有一首:“一花一柳一魚磯,一抹斜陽一鳥飛。一山一水中一寺,一片黃葉一僧歸。”此詩連用詩歌一字,讀起來卻不覺得重複,且所寫景色引人入勝。
這三首詩歌能在後世廣為流傳,或多或少也與數字有些關係吧。
我們知道,數學是一個很抽象的東西,很多人數學學不好是因為感到枯燥乏味,但是古人卻想到了好辦法,他們用詩的形式提出各種數學問題或用詩的形式解決數學題。代表人物有南宋的楊輝,元代的朱世傑、丁巨、賈亨,明代的程大位、劉仕隆等。
下麵我們就請古人出題,欣賞欣賞他們的數字詩。
朱世傑的《四元玉鑒》和《或問歌錄》共有12個用詩歌形式提出的數學題,比如,第一題:“今有方池一所,每麵丈四方停。葭生兩岸長其形,出水三十寸整。東岸蒲生一種,水上一尺無零。葭蒲稍接水齊平,借問三般怎定?”這裏的三般指的是水深、蒲長、葭長。是不是很有意思?還有第四首:“我有一壺酒,攜著遊春走。遇店添一倍,逢友飲一鬥。店友經三處,沒了壺中酒。借問此壺中,當原多少酒。”聰明的你算出來了嗎?
這兩道題比較簡單,還有比這複雜的,我們一起看看如何求解。
揭秘事實
著名的《孫子算經》中有這樣一道題,原文為:“今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?答曰二十三。”關於這個問題,在宋代一本筆記書裏有一個詩歌解法:“三歲孩兒七十稀,五留廿一事尤奇。七度上元重相會,寒食清明便可知。”在古代,正月十五為上元,所以上元指的15;又稱冬至百六是清明,清明節的前一天是寒食,所以寒食清明指的是105。答案是23。