日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

MATLAB判断是不是质数,MATLAB脚本质数的判断

發(fā)布時(shí)間:2024/3/12 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB判断是不是质数,MATLAB脚本质数的判断 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近打算從小學(xué)的課本開(kāi)始學(xué)著練習(xí)MATLAB的腳本編程了。練習(xí)效果還不錯(cuò),下面就是代碼:

% 這個(gè)腳本判斷給定a變量是否為質(zhì)數(shù)。

% 運(yùn)行這個(gè)腳本之前需先要給a變量賦值。

i=2;

b=0;

% 循環(huán)部分共計(jì)循環(huán)a-3次。

% 循環(huán)代碼意義:

% 判斷a變量從2開(kāi)始一直到a-1的數(shù)中是否含有能夠整除a的數(shù)值存在;

% 若存在則輸出判斷結(jié)果信息并終止循環(huán);

% 若不存在則繼續(xù)循環(huán)并使i自增1。

while i

if rem(a,i)==0 % 第一個(gè)if

b=rem(a,i);

disp('這個(gè)數(shù)值不是質(zhì)數(shù)');

break;

end % 第一個(gè)if的結(jié)束

i=i+1;

end % while語(yǔ)句的結(jié)束

% 直到循環(huán)結(jié)束后b的值被改變?yōu)榇笥诹?#xff0c;則說(shuō)明

% 排除1和a變量本身的值外,沒(méi)有數(shù)值能夠整除a即

% 從2到a-1的數(shù)值中不含有能夠整除a的值存在。

if b>0 % 第二個(gè)if

disp('這個(gè)數(shù)值是質(zhì)數(shù)');

end % 第二個(gè)if的結(jié)束

這段代碼經(jīng)過(guò)移植到矩陣元素判斷的時(shí)候,問(wèn)題依舊出現(xiàn)了,下面我們就來(lái)探討一下問(wèn)題的根源究竟是哪里。

首先我們要按照正常程序書(shū)寫(xiě)的順序進(jìn)行,第一步便是說(shuō)面原理:

1.代碼原理

質(zhì)數(shù)的概念:在自然數(shù)中,除了“1”以外,只能被1和它本身整除的數(shù)叫做質(zhì)數(shù),又叫素?cái)?shù),例如2,3等。在自然數(shù)中,除了“1”和質(zhì)數(shù)以外的數(shù)叫做合數(shù),例如4,6等。“1”既不是質(zhì)數(shù)也不是合數(shù)。

2.原理分析

在除法運(yùn)算中任何自然數(shù)都能夠被“1”和它本身整除,而質(zhì)數(shù)特別,它只能被“1”和它本身整除,其他數(shù)不能整除。那么我們便依據(jù)質(zhì)數(shù)概念將任意數(shù)的“1”和它本身以及大于它本身的數(shù)排除在外,我們?cè)O(shè)這個(gè)數(shù)為a,則剛剛我們所提到的數(shù)據(jù)范圍可表示為2<=a<=a-1,且a屬于整數(shù)。那么在2<=a<=a-1的數(shù)據(jù)范圍中如果沒(méi)有任何數(shù)值能夠整除a那么就說(shuō)明a是個(gè)質(zhì)數(shù)。這就是這段程序的本質(zhì)原理,依據(jù)這個(gè)原理我們可以編寫(xiě)出非常精煉的判斷質(zhì)數(shù)的代碼。

===

注意:程序細(xì)節(jié)問(wèn)題,其中while循環(huán)部分中break啟動(dòng)的原理是只要遇到從2開(kāi)始第一個(gè)能夠整除a的數(shù),則break終止循環(huán)。則此時(shí)b=0如果不終止,繼續(xù)循環(huán)至a-1的值的時(shí)候如果a-1的值為不能夠整除a。就會(huì)將b再度賦值為大于0的某個(gè)數(shù)值,此時(shí)result又會(huì)再度被賦值為這個(gè)數(shù)值是質(zhì)數(shù),而我們之前已經(jīng)明確在判斷區(qū)間中確實(shí)含有能夠整除數(shù)值a的數(shù)值存在,就因?yàn)闆](méi)有break終止循環(huán)進(jìn)行,便造成了結(jié)果的再度更改,致使判斷失效。因此這個(gè)問(wèn)題也同樣是移植到其他代碼段中需要重點(diǎn)考慮的問(wèn)題之一。

===

3.設(shè)計(jì)程序流程

a變量賦值

|

程序初始化

i=1,b=inf

|

#######################################

#??????????????????????????? 循環(huán)環(huán)境?????????????????????????????????????????? #

# —————————————————————? #

#?????????????????????????? 條件: i

總結(jié)

以上是生活随笔為你收集整理的MATLAB判断是不是质数,MATLAB脚本质数的判断的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。