資源描述:
《Matlab語(yǔ)言在初等數(shù)論中的應(yīng)用.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、2013年第2期《福建師大福清分校學(xué)報(bào)》總第116期JOURNALOFFUQINGBRANCHOFFUJIANNORMALUNIVERSITYSumNo.116Matlab語(yǔ)言在初等數(shù)論中的應(yīng)用紀(jì)崗(福建師范大學(xué)福清分校數(shù)學(xué)與計(jì)算機(jī)科學(xué)系,福建福清350300)摘要:Matlab語(yǔ)言是計(jì)算機(jī)語(yǔ)言,在高等應(yīng)用數(shù)學(xué)的各個(gè)分支中應(yīng)用廣泛.文章主要利用Matlab語(yǔ)言編寫(xiě)程序解決初等數(shù)論中最大公約數(shù)、最小公倍數(shù)和質(zhì)數(shù)、數(shù)論函數(shù)的計(jì)算問(wèn)題.關(guān)鍵詞:Matlab;質(zhì)數(shù);最大公約數(shù);最小公倍數(shù)中圖分類(lèi)號(hào):O12文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-3421(2013)02-0019-04
2、求兩個(gè)自然數(shù)的最大公約數(shù)與最小公倍數(shù)問(wèn)題、質(zhì)數(shù)問(wèn)題、數(shù)論函數(shù)∏(n)問(wèn)題等都是初等數(shù)論中很重要的問(wèn)題.文章利用Matlab語(yǔ)言編寫(xiě)程序,能簡(jiǎn)便快速和準(zhǔn)確的計(jì)算以上幾個(gè)問(wèn)題.文中出現(xiàn)的其他術(shù)語(yǔ)和概念見(jiàn)文獻(xiàn)[1].1求兩個(gè)自然數(shù)的最大公約數(shù)與最小公倍數(shù)1.1求兩個(gè)自然數(shù)的最大公約數(shù)的Matlab程序a=input('請(qǐng)輸入正整數(shù)a=');b=input('請(qǐng)輸入正整數(shù)b=');%yue是最大公約數(shù)yue=1;fori=1:1:ac=mod(a,i);d=mod(b,i);ifc==0&&d==0yue=i;endenddisp(['正整數(shù)',num2str(a),'與',n
3、um2str(b),'的最大公約數(shù)是:',num2str(yue)])在Matlab7.0的環(huán)境下驗(yàn)證當(dāng)a=18,b=24的具體結(jié)果:請(qǐng)輸入正整數(shù)a=18請(qǐng)輸入正整數(shù)b=24正整數(shù)18與24的最大公約數(shù)是:61.2求兩個(gè)自然數(shù)的最小公倍數(shù)的Matlab程序a=input('請(qǐng)輸入正整數(shù)a=');b=input('請(qǐng)輸入正整數(shù)b=');%yue是最大公約數(shù)%bei是最小公倍數(shù)yue=1;fori=1:1:a收稿日期:2012-11-02作者簡(jiǎn)介:紀(jì)崗(1975-),男,福建羅源人,講師,學(xué)士,主要從事數(shù)論研究。20福建師大福清分校學(xué)報(bào)2013年3月c=mod(a,i);d
4、=mod(b,i);ifc==0&&d==0yue=i;endendbei=(a*b)/yue;disp(['正整數(shù)',num2str(a),'與',num2str(b),'的最小公倍數(shù)是:',num2str(bei)])在Matlab7.0的環(huán)境下驗(yàn)證當(dāng)a=18,b=24的具體結(jié)果:請(qǐng)輸入正整數(shù)a=18請(qǐng)輸入正整數(shù)b=24正整數(shù)18與24的最小公倍數(shù)是:722有關(guān)質(zhì)數(shù)的Matlab代碼2.1生成小于n的所有質(zhì)數(shù)表的Matlab程序n=input('請(qǐng)輸入正整數(shù)n=');prime=[235];fori=6:np=1;forj=2:floor(sqrt(i))ifmod
5、(i,j)==0p=0;break;endendifpprime=[primei];%生成素?cái)?shù)表endenddisp(['小于正整數(shù)',num2str(n),'的質(zhì)數(shù)有:',num2str(prime),])在Matlab7.0的環(huán)境下驗(yàn)證n=30時(shí)的具體結(jié)果:請(qǐng)輸入正整數(shù)n=30小于正整數(shù)30的質(zhì)數(shù)有:23571113171923292.2判定一個(gè)自然數(shù)是不是質(zhì)數(shù)的Matlab程序把2.1的Matlab程序最末一行改為以下內(nèi)容:iffind(prime==n)disp(['正整數(shù)',num2str(n),'是一個(gè)質(zhì)數(shù)'])elsedisp(['正整數(shù)',num2str
6、(n),'不是一個(gè)質(zhì)數(shù)'])end在Matlab7.0的環(huán)境下分別驗(yàn)證當(dāng)n=219-1,n=1000001,時(shí)的具體結(jié)果:請(qǐng)輸入正整數(shù)n=2^19-1正整數(shù)524287是一個(gè)質(zhì)數(shù)第2期紀(jì)崗:Matlab語(yǔ)言在初等數(shù)論中的應(yīng)用21(注:2^19-1是梅森質(zhì)數(shù))請(qǐng)輸入正整數(shù)n=1000001正整數(shù)1000001不是一個(gè)質(zhì)數(shù)2.3計(jì)算∏(n)定義:設(shè)n為正整數(shù),我們用π(n)表示不大于n的所有質(zhì)數(shù)的個(gè)數(shù).π(n)是個(gè)數(shù)論函數(shù),π(1)=0,π(2)=1,π(3)=2,π(100)=25,易知π(n)→∞(當(dāng)n→∞)Matlab程序:在2.1的Matlab程序最末一行改為以下內(nèi)
7、容:a=length(prime);disp(['所有不大于正整數(shù)',num2str(n),'的素?cái)?shù)有∏(',num2str(n),')=',num2str(a),'個(gè)'])在Matlab7.0的環(huán)境下驗(yàn)證當(dāng)n=100時(shí)的具體結(jié)果:請(qǐng)輸入正整數(shù)n=100所有不大于正整數(shù)100的素?cái)?shù)有∏(100)=25個(gè)[3]的Matlab程序2.4尋找孿生質(zhì)數(shù)在2.1的Matlab程序最末一行改為以下內(nèi)容:fork=3:niffind(prime==k)&find(prime==(k+2))disp(['正整數(shù)',num2str(k),'與',num2s