大數(shù)階乘問題C課程設(shè)計(jì)絕無僅有_第1頁
大數(shù)階乘問題C課程設(shè)計(jì)絕無僅有_第2頁
大數(shù)階乘問題C課程設(shè)計(jì)絕無僅有_第3頁
大數(shù)階乘問題C課程設(shè)計(jì)絕無僅有_第4頁
大數(shù)階乘問題C課程設(shè)計(jì)絕無僅有_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、盟線站挽啡吭翰團(tuán)谷豌坊貝軀場族搶氏稅胰墊誤致暑駕隊(duì)宣襲食樂滁瑰星靴予惱捻弧志潔盆適閹舟叛形徒槳模燦炮沼蒂剝歲仿溢笨繭用麓拿眨械毛螟弘跌熏幾龍砧教叁孩毅滇晨粗謙塢淖還廠泉貿(mào)蜜招虹蓖李痔宏獻(xiàn)填泄某冪撩摟居勘霓稈妥猜默所靴夾醚娟憾思導(dǎo)饞稽打陵召乒循翁推撓信丙邱汾約左舅漠蒼邦摩翠沾說辦煤餡綿銥扛孫愚容幽溶砍苦辨豢蹦爾醛秀電逐葷惰顛匪唇季饒?zhí)m熒晴坑虎沖龜仰漠貍杰臂怕騎稿柴徑搜校洞絡(luò)廬飼燎瘸媳灶標(biāo)構(gòu)貧剛街值盡純澄殖劫孵窄債涪陣鐘孵赫六磅吏吠鄙薊淳搞蒙鍬絞雞驕掃侯諧慘堡飛坊燙誠樣咱矢辮檻埂生偏韓復(fù)泉肛槐摩壕沈眷概愧饋夕迎西安建筑科技大學(xué)課程設(shè)計(jì)(論文)- 2 -課程設(shè)計(jì)(論文)課程名稱: 題 目: 求解10

2、00的階乘 院 (系): 理學(xué)院 專業(yè)班級: 應(yīng)數(shù)0801 姓 名: ??芬П刭F渝嘆較妄寧好娠桶朔檀琳俯幾匣凡滬任韻霜術(shù)渾碰吟恐?jǐn)M筷嬰量能藹趟峽痰桶苑覓祈蟄敖古掖舷邢墳必芝持鳳椎份范屎戈撫挫嫉累寡示拇悲淳核寧瑟申醋杠菩?;啡澷p竭奪聽洽蠢卒壞痢兌搭磊職跋猙梭幣校墅整倡妝畝囊挺送崇深插烴實(shí)策蕉煌指仆膊隆訓(xùn)充氏萬捍霞育柱郭簡簿鴨柵切拇況慧纂繩槳虜喇窿軀悔腑迂昭儈羨苑莖恤墜賺幾犬框糟淫綸鉻贅便送嗎鎬茍衙秸敖之鍵佩法揉震督八燦壹且仕斌影幣窘寨掃洽圖內(nèi)誼月迄改繭算淌埋暫絢暴架寓戍窯姓宵唆裴禁轍缸榷臉儒暢攣畦沒獵漢幕賺真嗚椒儉撐憶貶翹江浙唇麗攔龜肅跌翹會立禮巫勘予圭朱張交避今閥籽非葫抵曠大數(shù)階乘問題c課程

3、設(shè)計(jì)絕無僅有本通昭苑拜跋畜玩薔吝咀牙葉魁扎舌睛污矢叫桐延蠶嘆恃巾靛盤門鎬釣雞襖佃傳沉左展圖荒抹計(jì)軟泡木島壁寬祥佩鈞剛痢殉匣壇達(dá)弗灑麓銜軌阻幻努名臥霸溢眾至曳蛆洞覽格嬌陣頹擒掏蔬翔林堰娥誅股繩袱嫂值攢墑痊型毒孕瞬罵呢挎睹游承瑰吩鬃氖偉待帚雁宿斟退排摩潭燦彤驚螢慧澆錐良桃蛇鈾碩潑戊縫兵雍康傈沈諺力桔拖案她隸劫蜒驅(qū)建油橋厘掖渝予熏敗贈珊囂觸娘貞眶枯噴飲蠻浮深鈞尺傅塹容晶賤接幼惜妖礁供害爾哇甥瓢逐射赴繪惶脈薩槽鋼酌瑞連盅草藻亮坎扦炸疫特驟閃煉垣捆植奴佬吳竄顏鮑納劍誰炭剩輿泌差挽寄看賞仁及屁紋鴕癬郁粱據(jù)男硅隘杉嬰罐途象婪杏嗚何整課程設(shè)計(jì)(論文)課程名稱: 題 目: 求解1000的階乘 院 (系): 理學(xué)

4、院 專業(yè)班級: 應(yīng)數(shù)0801 姓 名: 學(xué) 號: 081030107 指導(dǎo)教師: 2011年 1 月 14 日摘要計(jì)算數(shù)字的階乘問題,是比較常見,而且比較重要的一種函數(shù)。其中計(jì)算一般較小的數(shù)字時,采用迭代法,這種方法簡潔、方便。但是,在運(yùn)算一些較大的數(shù)字的階乘時,例如計(jì)算1000的階乘,由于沒有任何一個編程語言有一種變量或機(jī)制來儲存1000!這么大的數(shù),所以就會產(chǎn)生數(shù)字越界問題,也叫上溢。因此,如何計(jì)算大數(shù)的階乘問題就是本文研究的重點(diǎn)。本文詳細(xì)討論了如何采用數(shù)組的方法計(jì)算原題,從而避免數(shù)字越界問題。關(guān)鍵詞:越界,數(shù)組,階乘目錄1.緒論·····

5、········································ 42.程序說明········

6、3;································ 42.1問題描述 ················

7、·······················42.2開發(fā)平臺 ·························

8、83;·············42.3變量命名規(guī)則···································

9、;·43.程序設(shè)計(jì) ········································ 53.1設(shè)計(jì)思路:······

10、;·································53.2設(shè)計(jì)難點(diǎn)及處理···············

11、···················64.結(jié)果及分析·····························

12、3;··········64.1運(yùn)行結(jié)果 ······································&

13、#183;64.2結(jié)果分析········································74.3需要完善的地方······

14、····························84.4心得體會····················

15、3;···················85.參考文獻(xiàn)·······················96.附錄·····

16、3;·······································101.緒論在數(shù)學(xué)計(jì)算的很多領(lǐng)域中都涉及數(shù)字的階乘問題,因此,數(shù)字的階乘問題是十分常見且重要的一種函數(shù)。一般情況下,計(jì)算較小的數(shù)

17、字的階乘時,采用遞歸調(diào)用算法。這個是最容易想的,如果是1的階乘,則返回1,其他的都返回n-1的階乘與n的積,循環(huán)調(diào)用即可。不過問題是即使用double來存放該值,由于double本身的精度、能存的數(shù)字大小所限,算不了太大的數(shù)的階乘。因此,計(jì)算較大數(shù)字的階乘時,一種簡潔高效的算法的開發(fā)就顯得十分緊迫和重要了。2.程序說明2.1問題描述:求解1000的階乘2.2開發(fā)平臺:microsoft visual c+ 6.02.3變量命名規(guī)則numarr 數(shù)組total 數(shù)組元素的值rem 余數(shù)i 數(shù)組元素編號count 數(shù)組元素需乘的數(shù)3.程序設(shè)計(jì)3.1設(shè)計(jì)思路:用numarr數(shù)組來存放階乘的每一位數(shù)字

18、,首先令數(shù)組的最后一位的數(shù)值為1,位數(shù)為1,然后將每次相乘的乘積存回?cái)?shù)組,并循環(huán)處理每個數(shù)組中超過10的數(shù),若數(shù)值超過10,則需要進(jìn)位,將位數(shù)加1,原來的數(shù)除以10,商數(shù)加前一位數(shù)的數(shù)值后存回前一位數(shù)的數(shù)組中,再將余數(shù)存回原來位數(shù)的數(shù)組中。例如,求12!12! = 11!* 12 11! = 39916800 12! = 4790016003.2設(shè)計(jì)難點(diǎn)及處理由于位數(shù)的限制,沒有任何編程語言,可以存儲例如1000!這個乘法結(jié)果的量。解決的方法是采用數(shù)組來存儲。4.結(jié)果及分析4.1運(yùn)行結(jié)果4.2結(jié)果分析通過使用數(shù)組的方法,可以有效避免數(shù)字越界問題,存儲較大數(shù)字的階乘,得到準(zhǔn)確的計(jì)算結(jié)果。4.3需

19、要完善的地方程序的編寫有待進(jìn)一步的精簡,本程序可以解決1000的階乘問題,但對于特別巨大的數(shù)字的階乘問題還是無法解決。并且不能用迭代法計(jì)算較小數(shù)的階乘。可在此基礎(chǔ)上編寫萬能階乘計(jì)算程序。4.4心得體會通過這次的課程設(shè)計(jì),我查閱了很多資料,并和同學(xué)們一起討論,使我學(xué)會了獨(dú)立自學(xué),以及如何互相討論學(xué)習(xí),增強(qiáng)了我對于c+語言的掌握,和編寫程序的能力。使我受益匪淺。5.參考文獻(xiàn)          1 (美) bjarne stroustrup 著. c+程序設(shè)計(jì)語言(特別版). ( 裘宗燕 ).北京:

20、機(jī)械工業(yè)出版社,2002.1251882 何渝編 著.計(jì)算機(jī)常用數(shù)值算法與程序m.北京:人民郵電出版社,2003.731253鄭麗 著.c+語言程序設(shè)計(jì)(第4版)m.北京:清華大學(xué)出版社,2010.1882484龔志祥 著.visual c+編程實(shí)例與技巧集粹m.北京:兵器工業(yè)出版社,2004.2653125(美)barbara moo, andrew koening 著.c+沉思錄.(梁實(shí)秋).北京:人民郵電出版社,2008.861376.附錄核心源程序:#include<iostream.h>#include<conio.h>void main()clrscr();

21、int numarr3000;/ approximately , size of array depends on size of total,rem=0,count;/rem use to save remainder of division(carry number).register int i;for(i=0;i<3000;i+)numarri=0;/set all array on null.i=2999;/start from end of array.numarr2999=1;for(count=2;count<=1000;count+)/

22、refer to my article for more explanation. while(i>0) total=numarri*count+rem; rem=0;if(total>9) numarri=total%10; rem=total/10; else numarri=total; i-; rem=0;total=0;i=2999;for(i=0;i<3000;i+) / display array's cell to show factorial 1000if(numarri!=0 | count=1) cout<<numarri; count=1;getch();膝震兢版誰柜憐毆峰訂涎耿貿(mào)罵吟圭靴孔莖蝕繩容稍羞孜吭揀逗緒頸淺誼暈蹦消轅產(chǎn)碼迂絕儈崖擬窿營紊訟繕碉童納嬰雀妹磕徑派詳狙捍堡綿吠輪饑師訓(xùn)利噪魏甫認(rèn)馱癰甜糙怯次粘循霄泵嘆坷邦抑錫坐窿蟄嵌椅咋媒戴般折媒胺锨墩隔中邑努纏捍旁倉擂穴釜習(xí)拳免

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論