青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++研究

C++細(xì)節(jié)深度探索及軟件工程

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  37 隨筆 :: 0 文章 :: 74 評(píng)論 :: 0 Trackbacks


1.GRIDDLE METHOD (ALSO CALLED SIFT METHOD)

When I was a student in Bachelor phrase , a teacher has tought me a method called griddle method , it's principle is:

if a number can be devided by another number(except 1) , it isn't a prime , so , we set the non-prime at zero. after all number [In fact , half of the range checked is OK ]test finished , We simply output the NON-ZERO number , it 's the prime table in the RANGE.

E.G
Define the Range from 1-100;

/********************************************************************
 created: 2007/04/19
 created: 19:4:2007   3:00
 filename:  C:\testvc6\TestStll\TestStll.cpp
 file path: C:\testvc6\TestStll
 file base: TestStll
 file ext: cpp
 author:  Chang xinglong(King.C)
 purpose: Print Prime Table in RANGE(1-100)
*********************************************************************/

The Code Here :

 


#include 
<iostream>
#include 
<algorithm>
#include 
<vector>
using namespace std;

void InitArray(int A[] ,int len)
{
    
for (int i=0;i<len;i++)
    
{
        A[i]
=i+1;
    }

}


void OutputPrime(int A[] ,int len)
{
  
for (int i=2;i<len;i++)
  
{
      
for (int j=2;i*j<=len;j++)
      
{
          A[i
*j-1]=0;
          cout
<<i<<","<<j<<","<<i*j<<endl;
      }

     
  }

  
for (i=0;i<len;i++)
  
{
      
if (A[i]!=0)
      
{
          cout
<<A[i]<<" ";
      }

      
  }

  cout
<<endl;
}

// Main Method [4/19/2007 Changxinglong (King.C)]
int main(int argc, char* argv[])
{
    
int A[100];
    InitArray(A,
100);
    OutputPrime(A,
100);
    
return 1;
}




 2.THE DIRECT METHOD

E.G

/********************************************************************
 created: 2007/04/19
 created: 19:4:2007   3:00
 filename:  C:\testvc6\TestStll\TestStll.cpp
 file path: C:\testvc6\TestStll
 file base: TestStll
 file ext: cpp
 author:  Chang xinglong(King.C)
 purpose: Prime ?
*********************************************************************/

Here is the Kernel Function(Quote : STL TURORIAL REFERRENCE):

 

 1//predicate, which returns whether an integer is a prime number
 2bool isPrime (int number)
 3{
 4//ignore negative sign
 5number = abs(number);
 6// 0 and 1 are prime numbers
 7if (number == 0 || number == 1{
 8return true;
 9}

10//find divisor that divides without a remainder
11int divisor;
12for (divisor = number/2; number%divisor != 0--divisor) {
13;
14}

15//if no divisor greater than 1 is found, it is a prime number
16return divisor == 1;
17}


In Main Function , traverse the given range judge every number use the above function:

int main(int argc , char * argv[])
{
  
int A[100];
  InitArray(A,
100);
  
for(int i=0;i<100;i++)
    
if(isPrime(A[i]))
       cout
<<A[i]<<endl;
}

3. Extention
 Further , if  there is a given List or Vector and it's filled with data , how can you find the prime number in the data effiectly ?
STL Algorithm can help you indeed. After the step two , we can write a few code to implement the function:
int main()
{
list
<int> coll;
//insert elements from 1 to 100
for (int i=1; i<=100++i) {
coll.push_back(i);
}

//search for prime number
list<int>::iterator pos;
pos 
= find_if (coll.begin(), coll.end(), //range
isPrime); //predicate
if (pos != coll.end()) {
//found
cout << *pos << " is first prime number found" << endl;
}

else {
//not found
cout << "no prime number found" << endl;
}

}


posted on 2007-04-19 03:05 常興龍 閱讀(1371) 評(píng)論(8)  編輯 收藏 引用 所屬分類: Algorithm

評(píng)論

# re: Some algorithms about judging a prime . 2007-04-19 10:58 uglystone
Write well!
I think tha IsPrime funtion shoule be implemented as a functors!
it may be more elegant!
class IsPrime{
public:
IsPrime(){
}
bool isPrime (int number)
{
.....
}
};  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2007-04-19 22:18 chenger
這應(yīng)該是最原始的辦法  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2007-04-26 19:00 oyjpart
有一些很好的隨機(jī)算法  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2007-05-12 23:26 不是很懂
A primality test is a test to determine whether or not a given number is prime, as opposed to actually decomposing the number into its constituent prime factors (which is known as prime factorization).

Primality tests come in two varieties: deterministic and probabilistic. Deterministic tests determine with absolute certainty whether a number is prime. Examples of deterministic tests include the Lucas-Lehmer test and elliptic curve primality proving. Probabilistic tests can potentially (although with very small probability) falsely identify a composite number as prime (although not vice versa). However, they are in general much faster than deterministic tests. Numbers that have passed a probabilistic prime test are therefore properly referred to as probable primes until their primality can be demonstrated deterministically.

A number that passes a probabilistic test but is in fact composite is known as a pseudoprime. There are many specific types of pseudoprimes, the most common being the Fermat pseudoprimes, which are composites that nonetheless satisfy Fermat's little theorem.

The Rabin-Miller strong pseudoprime test is a particularly efficient test. Mathematica versions 2.2 and later have implemented the multiple Rabin-Miller test in bases 2 and 3 combined with a Lucas pseudoprime test as the primality test used by the function PrimeQ[n]. Like many such algorithms, it is a probabilistic test using pseudoprimes. In order to guarantee primality, a much slower deterministic algorithm must be used. However, no numbers are actually known that pass advanced probabilistic tests (such as Rabin-Miller) yet are actually composite.

The state of the art in deterministic primality testing for arbitrary numbers is elliptic curve primality proving. As of 2004, the program PRIMO can certify a 4769-digit prime in approximately 2000 hours of computation (or nearly three months of uninterrupted computation) on a 1 GHz processor using this technique.

Unlike prime factorization, primality testing was long believed to be a P-problem (Wagon 1991). This had not been demonstrated, however, until Agrawal et al. (2002) unexpectedly discovered a polynomial time algorithm for primality testing that has asymptotic complexity of (Bernstein 2002, Clark 2002, Indian Institute of Technology 2002, Pomerance 2002ab, Robinson 2002). Their algorithm has come to be called the AKS primality test.

http://mathworld.wolfram.com/PrimalityTest.html  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2007-05-17 00:12 天津大學(xué)計(jì)算機(jī)學(xué)院 常興龍
Very appreciated for your comment , I have benefited a lot from it. thanks again!  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2008-04-24 02:01 Rex.Kingsir
Thanks a lot for talk so much!  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2008-07-05 16:45 我們一起來提高
數(shù)論學(xué)家利用費(fèi)馬小定理研究出了多種素?cái)?shù)測(cè)試方法,目前最快的算法是拉賓米
勒測(cè)試算法,其過程如下:
(1)計(jì)算奇數(shù)M,使得N=(2**r)*M+1
(2)選擇隨機(jī)數(shù)A<N
(3)對(duì)于任意i<r,若A**((2**i)*M) MOD N = N-1,則N通過隨機(jī)數(shù)A的測(cè)試
(4)或者,若A**M MOD N = 1,則N通過隨機(jī)數(shù)A的測(cè)試
(5)讓A取不同的值對(duì)N進(jìn)行5次測(cè)試,若全部通過則判定N為素?cái)?shù)
若N 通過一次測(cè)試,則N 不是素?cái)?shù)的概率為 25%,若N 通過t 次測(cè)試,則N 不是
素?cái)?shù)的概率為1/4**t。事實(shí)上取t 為5 時(shí),N 不是素?cái)?shù)的概率為 1/128,N 為素?cái)?shù)的
概率已經(jīng)大于99.99%。
在實(shí)際應(yīng)用中,可首先用300—500個(gè)小素?cái)?shù)對(duì)N 進(jìn)行測(cè)試,以提高拉賓米勒測(cè)試
通過的概率,從而提高測(cè)試速度。而在生成隨機(jī)素?cái)?shù)時(shí),選取的隨機(jī)數(shù)最好讓 r=0,
則可省去步驟(3) 的測(cè)試,進(jìn)一步提高測(cè)試速度
  回復(fù)  更多評(píng)論
  

# re: Some algorithms about judging a prime . 2009-05-16 19:29 u2u
@我們一起來提高
現(xiàn)在最快的是AKS...  回復(fù)  更多評(píng)論
  

> hi的博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品女人| 亚洲一区二区三区777| 久久国产精品72免费观看| 亚洲桃花岛网站| 国产美女精品免费电影| 香蕉亚洲视频| 性视频1819p久久| 国产一区二区精品久久99| 久久久之久亚州精品露出| 欧美在线观看天堂一区二区三区| 国产亚洲欧美一区在线观看| 欧美99在线视频观看| 欧美成人一区二区三区在线观看| 一区二区日韩欧美| 亚洲一区二区综合| 一区二区在线视频| 亚洲精品影视| 国产一区二区电影在线观看| 亚洲国产成人高清精品| 欧美精品一区二区三区蜜桃| 小嫩嫩精品导航| 开元免费观看欧美电视剧网站| 一区二区激情| 欧美一区国产在线| 9l视频自拍蝌蚪9l视频成人| 亚洲国产一区二区a毛片| 亚洲大片在线| 国产精品系列在线| 亚洲国产成人一区| 国产女优一区| 亚洲国产日韩在线一区模特| 国产精品久久久久久久久久ktv| 久久精品欧美| 欧美日韩亚洲在线| 美国十次成人| 国产毛片一区| 亚洲人午夜精品免费| 韩国三级在线一区| 99国产精品久久久久久久久久| 国语精品中文字幕| 亚洲视频在线观看视频| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一级免费视频| 亚洲精品中文字幕女同| 久久精品国产免费看久久精品| 一区二区三区精密机械公司| 久久深夜福利| 久久久久久久综合日本| 国产精品久久久| 亚洲精品日韩激情在线电影| 在线日韩欧美| 久久精品中文| 久久国产欧美精品| 国产精品午夜国产小视频| 亚洲精一区二区三区| 亚洲高清视频在线| 久久蜜桃资源一区二区老牛 | 免费成人黄色片| 久久久久国产免费免费| 国产日韩精品电影| 亚洲视频在线播放| 亚洲一区二区三区四区在线观看 | 欧美在现视频| 久久国产精品久久久| 欧美午夜性色大片在线观看| 亚洲国产欧美在线| 亚洲美女免费精品视频在线观看| 可以看av的网站久久看| 猫咪成人在线观看| 在线观看亚洲| 欧美成人精品一区二区三区| 免费91麻豆精品国产自产在线观看| 国外成人网址| 久久精品一区蜜桃臀影院| 久久综合九色综合久99| 激情综合色综合久久| 久久嫩草精品久久久精品| 免费观看成人www动漫视频| 亚洲电影观看| 欧美国产日韩精品| 一本久道久久综合中文字幕| 午夜国产不卡在线观看视频| 国产日韩一区二区三区| 久久精品盗摄| 亚洲国产精品久久人人爱蜜臀| 亚洲日本无吗高清不卡| 欧美日韩综合视频网址| 欧美一二区视频| 美乳少妇欧美精品| 99riav国产精品| 国产精品久久久久一区二区三区 | 久久婷婷蜜乳一本欲蜜臀| 欧美大片一区二区三区| 一个色综合导航| 国产精自产拍久久久久久| 久久精品亚洲精品| 亚洲精品视频在线播放| 亚洲欧美一区二区视频| 欲色影视综合吧| 欧美久久在线| 久久精品官网| 亚洲美女尤物影院| 久久久中精品2020中文| 亚洲美女在线视频| 国产欧美一区二区精品性| 久久综合国产精品| 一区二区三区日韩欧美| 久久综合久久久| 亚洲免费在线精品一区| 在线观看91精品国产入口| 欧美午夜精品久久久| 久久综合久久综合久久| 亚洲午夜精品久久久久久app| 玖玖国产精品视频| 午夜一级在线看亚洲| 91久久精品视频| 国产在线观看91精品一区| 欧美日韩另类视频| 久久中文在线| 欧美亚洲免费高清在线观看| 亚洲免费高清视频| 欧美xart系列高清| 欧美一区二区免费| 一区二区高清在线| 亚洲片在线资源| 狠狠久久亚洲欧美专区| 国产精品资源| 国产精品高潮在线| 欧美理论片在线观看| 久久免费国产精品| 欧美在线看片| 亚洲视频在线二区| 夜夜嗨av一区二区三区网站四季av| 欧美成人免费在线| 开心色5月久久精品| 久久国产毛片| 久久国产成人| 欧美一区二区三区成人| 亚洲午夜国产成人av电影男同| 亚洲精品欧美专区| 亚洲国产另类 国产精品国产免费| 韩国自拍一区| 国产一区二区在线免费观看| 国产精品欧美久久久久无广告| 欧美午夜一区二区三区免费大片| 欧美激情一区| 欧美屁股在线| 欧美日韩免费观看一区三区| 欧美日韩国产在线观看| 欧美日韩国产123| 欧美精品一区二区在线观看| 蜜臀99久久精品久久久久久软件 | 99精品国产高清一区二区| 亚洲精品国产精品国产自| 亚洲国产成人精品视频| 亚洲国产精品成人综合| 亚洲国产视频一区二区| 日韩亚洲欧美一区| 99在线热播精品免费99热| 这里只有精品丝袜| 一区二区三区欧美成人| 亚洲一区二区免费视频| 欧美亚洲三级| 久久综合色婷婷| 欧美精品三级在线观看| 欧美日韩一区二区视频在线观看| 国产精品v欧美精品v日韩精品| 国产精品视频xxx| 狠狠色狠狠色综合日日小说| 亚洲黄色一区| 亚洲一卡二卡三卡四卡五卡| 欧美一区91| 欧美a级一区二区| 日韩午夜在线观看视频| 亚洲欧美综合v| 美女诱惑黄网站一区| 欧美日韩午夜视频在线观看| 国产日韩精品一区二区浪潮av| 在线播放中文一区| 一个色综合av| 久久久精品网| 日韩香蕉视频| 久久精品一区蜜桃臀影院| 欧美精品在线视频观看| 国产人成精品一区二区三| 亚洲欧洲精品一区二区精品久久久| 亚洲一二三四区| 久热re这里精品视频在线6| 99国产精品久久久久久久久久 | 亚洲影院色无极综合| 久久久久久久久久久一区| 久久久亚洲午夜电影| 国产精品九九久久久久久久| 亚洲国产精品第一区二区三区| 亚洲一区二区在线免费观看视频| 久久亚洲国产精品日日av夜夜| 日韩视频免费观看| 久久这里只精品最新地址| 欧美视频在线不卡| 亚洲欧洲一级|