日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#計(jì)算素?cái)?shù)序列淺談

學(xué)習(xí)C#語(yǔ)言時(shí),經(jīng)常會(huì)遇到C#計(jì)算素?cái)?shù)序列問(wèn)題,這里將介紹C#計(jì)算素?cái)?shù)序列問(wèn)題的解決方法。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出貢山免費(fèi)做網(wǎng)站回饋大家。

素?cái)?shù)尋找問(wèn)題由來(lái)已久,一直是一些數(shù)學(xué)家追求的目的。關(guān)于素?cái)?shù)的定義及性質(zhì),我就不在這里多敘了,相信大家都對(duì)此了如指掌。素?cái)?shù)的尋找思路比較的簡(jiǎn)單,根據(jù)素?cái)?shù)的性質(zhì)(素?cái)?shù)應(yīng)該不能被除了1和它自身的其他數(shù)整除)我們可以從最小的素?cái)?shù)2開(kāi)始,一直到比它小1的數(shù)為止,用這些數(shù)去整除它,如果它能被整除則它必定不是素?cái)?shù),這是判斷單個(gè)素?cái)?shù)的方法(這個(gè)算法思想最簡(jiǎn)單,時(shí)間復(fù)雜度***)。對(duì)于尋找比某一個(gè)給定的整數(shù)值小的所有素?cái)?shù)也可以采用這種方法,不過(guò)我們會(huì)發(fā)現(xiàn),采用這種單個(gè)判斷的方法所耗的時(shí)間比較多。比如查找不大于10的素?cái)?shù),我們必須從2開(kāi)始一個(gè)個(gè)判斷,共需判斷9個(gè)數(shù),事實(shí)上按照我們后面講述的方法,只需循環(huán)2次就可以了。因此,下面的兩種方法都將基于刪除法來(lái)做。

我們來(lái)看看刪除法的思想:

1.將小于給定整數(shù)值n的所有正整數(shù)加到一個(gè)數(shù)組中;

2.刪除能夠被一些整數(shù)整除的數(shù);

3.?dāng)?shù)組中遺留的元素就是***C#計(jì)算素?cái)?shù)序列。

 
 
 
  1. class prime
  2. {
  3. public static int[] PrimeList;
  4. publicstatic void FindPrime(int n)
  5. {
  6. int[] IntList;
  7. IntList=new int[n];
  8. for (int p=2;p<=n;p++) IntList[p-1]=p;
  9. for (int p=2;p(n);p++)
  10. {
  11. int j=p+1;
  12. while (j<=n)
  13. {
  14. if ((IntList[j-1]!=0 ) && ((IntList[j-1]% p)==0) ) IntList[j-1]=0;
  15. jj=j+1;
  16. }
  17. }
  18. int i=0;
  19. for (int p=2;p<=n;p++)
  20. {
  21. if (IntList[p-1]!=0) ii=i+1;
  22. }
  23. PrimeList=new int[i];
  24. i=0;
  25. for (int p=2;p<=n;p++)
  26. {
  27. if (IntList[p-1]!=0)
  28. {
  29. PrimeList[i]=IntList[p-1];
  30. ii=i+1;
  31. }
  32. }
  33. }
  34. }

這這個(gè)算法中,刪除的數(shù)是那些被從2開(kāi)始直到n的平方根的整數(shù)整除的數(shù)。這個(gè)算法比起前面介紹的單個(gè)素?cái)?shù)的尋找方法要好,它的循環(huán)次數(shù)減少了一多半,但是這個(gè)算法還不是最理想的:

1.例如,6既能被2整除,也能被3整除,那么當(dāng)p=2時(shí),6被刪掉了一次;當(dāng)p=3時(shí),6又被刪除了一次,雖然按照我們?cè)O(shè)定的算法規(guī)則,這不會(huì)導(dǎo)致沖突(通過(guò)判斷IntList數(shù)組元素是否為0,若為0就不必重復(fù)刪除),但是這會(huì)使得算法的效率低下。

2.還有C#計(jì)算素?cái)?shù)序列元素個(gè)數(shù)時(shí),我們也走了彎路。***步,我們先計(jì)算出了數(shù)組元素大小,第二步才開(kāi)始賦值,事實(shí)上這兩步我們可以減去計(jì)算數(shù)組大小這一步,可以把它放在前面完成。

3.已經(jīng)被刪除了的元素,也就是那些不是素?cái)?shù)的元素,可以不用拿他們?nèi)フ麛?shù),例如4不用拿去整除8,因?yàn)槟鼙?整除的數(shù)肯定能被2整除,已經(jīng)在前面循環(huán)中被刪除了。

基于上述考慮,我們得到了一個(gè)效率更加高的算法:

 
 
 
  1. class primegood
  2. {
  3. public static int[] PrimeList;
  4. public static void FindPrime(int n)
  5. {
  6. int[] IntList;
  7. int len=n-1;
  8. IntList=new int[n];
  9. for (int p=2;p<=n;p++) IntList[p-1]=p;
  10. for (int p=2;p(n);p++)
  11. {
  12. if (IntList[p-1]==0) continue;
  13. int j=p*p;
  14. while (j<=n)
  15. {
  16. if (IntList[j-1]!=0 )
  17. {
  18. IntList[j-1]=0;
  19. lenlen=len-1;
  20. }
  21. jj=j+p;
  22. }
  23. }
  24. PrimeList=new int[len];
  25. int i=0;
  26. for (int p=2;p<=n;p++)
  27. {
  28. if (IntList[p-1]!=0)
  29. {
  30. PrimeList[i]=IntList[p-1];
  31. ii=i+1;
  32. }
  33. }
  34. }
  35. }

文章題目:C#計(jì)算素?cái)?shù)序列淺談
轉(zhuǎn)載來(lái)于:http://m.5511xx.com/article/cdicjhh.html