版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1000!有幾位數(shù)?1000!有幾位數(shù),為什么?1000!用科學(xué)計(jì)數(shù)法是ax10Ax,其中1<a<10,x為一特定整數(shù),10Ax表示10的x次方。要求的是x+1如:3189=3.189x10A33189的位數(shù)是3+1=4當(dāng)1<a<10時(shí),0<lg(a)<1故有l(wèi)g(ax10Ax)=lg(a)+x即lg(ax10Ax)的整數(shù)部分即為x同樣lg(1000!)+1的整數(shù)部分為要求的整數(shù)lg(1000!)=lg(a)+lg(10Ax)=lg(a)+xlg(1000!)=lg(1000*999**2*1)=lg(1000)+lg(999)++lg(1)lg(1000!)=lg(1000)+lg(999)++lg(1)(為保證1000個(gè)小數(shù)相加不致產(chǎn)生誤差每個(gè)數(shù)必須精確到0.0001以上,下例程序中故使用float)x=lg(1000)+lg(999)+....+lg⑴的整數(shù)部分這個(gè)就可以用程序?qū)崿F(xiàn)了/*lg.c*/#include<stdio.h>#include<math.h>intmain(){inti;doublesum=0;for(i=1;i<=1000;i++){sum=sum+log10(i);}printf("The'1000!has%d'snumbers.\n",(int)sum+1);}
在估算出位數(shù)后,就可以進(jìn)一步計(jì)算其具體的值:用數(shù)組的方法解決大數(shù)、巨數(shù)的階乘結(jié)果越界的問題。具體算法中有最樸實(shí)的乘法運(yùn)算思想,請(qǐng)各位細(xì)細(xì)體味。#include<stdio.h>intmain()//階乘大小//階乘大小//從鍵盤接收階乘大小//確保保存最終運(yùn)算結(jié)果的數(shù)組足夠//進(jìn)位//位數(shù)//將結(jié)果先初始化為1//階乘的任一元素與臨時(shí)結(jié)果的某位intn;printf("請(qǐng)輸入n的大小:");scanf("%d",&n);inta[200];大intcarry;intdigit=1;a[0]=1;inttemp;的乘積結(jié)果for(inti=2;i<=n;++i)//開始階乘,階乘元素從2開始依次“登場(chǎng)”{//按最基本的乘法運(yùn)算思想來(lái)考慮,將臨時(shí)結(jié)果的每位與階乘元素相乘for(intj=1,carry=0;j<=digit;++j){//相應(yīng)階乘中的一項(xiàng)與當(dāng)前所得臨時(shí)//更新臨時(shí)結(jié)果的位上信息//看是否有進(jìn)位//如果有進(jìn)位temp=//相應(yīng)階乘中的一項(xiàng)與當(dāng)前所得臨時(shí)//更新臨時(shí)結(jié)果的位上信息//看是否有進(jìn)位//如果有進(jìn)位a[j-1]=temp%10;carry=temp/10;}while(carry)
a[++digit-1]=a[++digit-1]=carry%10;//新加一位,添加信息。位數(shù)增1carry/=10;//carry/=10;//顯示結(jié)果printf("結(jié)果是:\n%d!=//顯示結(jié)果for(inti=digit;i>=1;--i){printf("%d",a[i-1]);}return0;【2】1000的階乘(1000!)結(jié)果有幾個(gè)0(10000!--->2499=[10000/5]+[10000/25]+[10000/125]+[10000/625]+[10000/3125])packagecom.hisen.test;2.publicclassJC{publicstaticvoidmain(String[]args){intx=10000;intcount=0;while(x>0)8.9.count=count+x/5;
9.count=count+x/5;10.x=x/5;10.}System.out.println(count);}}復(fù)制代碼利用到了一個(gè)數(shù)學(xué)知識(shí)令f(x)表示正整數(shù)x末尾所含有的0”個(gè)數(shù),則有:當(dāng)0<n<5時(shí),f(n!)=0;當(dāng)n>=5時(shí),f(n!)=k+f(k!),其中k=n/5(取整)。通俗的解釋就是:求5...所有5都被2拉去產(chǎn)生0了問題:的階乘中的末尾有多少個(gè)例如末尾有個(gè)分析想到這個(gè)問題,有人可能第一反應(yīng)就是現(xiàn)求出然后再根據(jù)求出的結(jié)果,最后得出的末尾有多少個(gè)。但是轉(zhuǎn)念一想,會(huì)不會(huì)溢出,等等。其實(shí),從"那些數(shù)相乘可以得到10這"個(gè)角度,問題就變得比較的簡(jiǎn)單了。首先考慮,如果的階乘為和的次方的乘積,那么末尾就有的。如果將的階乘分解后,那么的階乘可以分解為:的次方,的次方,的次方,的成績(jī)。由于所以只能和和有關(guān),每一對(duì)和相乘就可以得到一個(gè),于是不難看出大于,因?yàn)楸徽念l率比被整除的頻率高的多。所以可以把公式簡(jiǎn)化為
由上面的分析可以看出,只要計(jì)算處的值,就可以得到末尾的個(gè)數(shù)方法一要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度房產(chǎn)抵押貸款合同無(wú)擔(dān)保條款
- 2025年度云計(jì)算服務(wù)提供商與金融機(jī)構(gòu)數(shù)字化轉(zhuǎn)型合同2篇
- 2025年度垃圾桶進(jìn)出口貿(mào)易合同范本3篇
- 2024控制和調(diào)整設(shè)備砂石料購(gòu)銷合同
- 2025年度物流企業(yè)員工薪酬福利合同模板3篇
- 2024年監(jiān)控系統(tǒng)工程安裝協(xié)議精簡(jiǎn)版版B版
- 2025版防水材料研發(fā)與創(chuàng)新基金合作協(xié)議2篇
- 2025年度基酒定制銷售合同3篇
- 包頭鋼鐵職業(yè)技術(shù)學(xué)院《創(chuàng)新創(chuàng)業(yè)實(shí)踐訓(xùn)練四》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年版遠(yuǎn)洋貨物運(yùn)輸合同一
- 抖音汽車直播培訓(xùn)方案
- 湖北省十堰市2023-2024學(xué)年高三上學(xué)期元月調(diào)考地理試卷Word版含答案
- 關(guān)于安全教育的主題班會(huì)課件
- 財(cái)務(wù)用發(fā)票分割單原始憑證 發(fā)票分割單范本
- 政治學(xué)概論 - 國(guó)家政體
- 湖北省武漢市洪山區(qū)2022-2023學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷
- 《建筑基坑工程監(jiān)測(cè)技術(shù)標(biāo)準(zhǔn)》(50497-2019)
- 《思想道德與法治》試題庫(kù)
- 【環(huán)評(píng)文件】蚌埠市康城醫(yī)療廢物集中處置有限公司25噸日微波消毒處置醫(yī)療廢物項(xiàng)目
- 小學(xué)科學(xué)實(shí)驗(yàn)圖片和文字
- 人教版初中物理八年級(jí)上冊(cè)全冊(cè)期末復(fù)習(xí)知識(shí)點(diǎn)
評(píng)論
0/150
提交評(píng)論