﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>SQLServerCentral / Discuss Content Posted by Kathi Kellenberger / Article Discussions / Article Discussions by Author  / Finding Primes / Latest Posts</title><generator>InstantForum.NET v2.9.0</generator><description>SQLServerCentral</description><link>http://www.sqlservercentral.com/Forums/</link><webMaster>notifications@sqlservercentral.com</webMaster><lastBuildDate>Mon, 20 May 2013 09:52:25 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>Can I suggest you re-read the book: "...of the story is a 15 year old autistic boy" He is not autistic. He has aspergers syndrome. Whilst there are some similarities, they are world's apart.</description><pubDate>Mon, 31 Dec 2007 22:32:13 GMT</pubDate><dc:creator>Mitch Wheat</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;Ryan, I modified your script to use INT temp tables, instead of BIGINT, and got almost an 18% reduction in runtime.  The following is the result of finding all primes below 100 million.&lt;/P&gt;&lt;P&gt;Using BIGINT for the data types doesn't seem to be needed unless you are going over 2 billion in your prime number search.&lt;/P&gt;&lt;PRE&gt;Test with INT temp tablesCheckpoint A: 250 msCheckpoint B: 230573 msFinish: 652583 msNumber of primes Max prime   Average of primes    ---------------- ----------- -------------------- 5761455          99999989    48461680&lt;/PRE&gt;&lt;PRE&gt;Test with BIGINT temp tablesCheckpoint A: 250 msCheckpoint B: 280590 msFinish: 791850 msNumber of primes Max prime            Average of primes    ---------------- -------------------- -------------------- 5761455          99999989             48461680&lt;/PRE&gt;&lt;PRE&gt; &lt;/PRE&gt;&lt;PRE&gt; &lt;/PRE&gt;</description><pubDate>Wed, 31 Jan 2007 16:37:00 GMT</pubDate><dc:creator>Michael Valentine Jones</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;I have tested my code against Ryan's code on SQL Server 2000 and it seems to be equally fast (with the same output).If the Numbers table is preconstructed, I guess my code is faster (because I need a larger Numbers table). On the other hand, if I am forced to use bigints (as Ryan does), my code willbe a bit slower.&lt;/P&gt;&lt;P&gt;I have used the following in my test:&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;/*************** MY CODE ******************/&lt;/P&gt;&lt;P&gt;set nocount ongo&lt;/P&gt;&lt;P&gt;declare @time datetimeselect @time = getdate()&lt;/P&gt;&lt;P&gt;DECLARE @MaxNumber INTSET @MaxNumber = 5000000&lt;/P&gt;&lt;P&gt;SET ROWCOUNT @MaxNumber&lt;/P&gt;&lt;P&gt;select identity(int, 1, 1) as Number into #Numbersfrom syscomments c1 cross join syscomments c2 cross join syscomments c3&lt;/P&gt;&lt;P&gt;SET ROWCOUNT 0&lt;/P&gt;&lt;P&gt;alter table #Numbers add constraint PK_Numbers primary key clustered (Number)&lt;/P&gt;&lt;P&gt;create table #Primes(prime int primary key)&lt;/P&gt;&lt;P&gt;declare @i int, @limit intset @i = 1while @i*@i &amp;lt; @MaxNumberbegin  set @limit = (@i+1)*(@i+1)  if (@i+1)*(@i+1) &amp;gt; @MaxNumber    set @limit = @MaxNumber + 1&lt;/P&gt;&lt;P&gt;  insert into #Primes  select n.Number  from #Numbers n  where  n.Number &amp;lt; @limit and n.Number &amp;gt; @i*@i  and not exists  (select * from #Primes p where p.prime &amp;lt; @i + 1 and n.Number % p.prime = 0)&lt;/P&gt;&lt;P&gt;  set @i = @i + 1end&lt;/P&gt;&lt;P&gt;--select * from #Primes&lt;/P&gt;&lt;P&gt;PRINT 'Finish: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VARCHAR(10)) + ' ms'SELECT COUNT(*) AS 'Number of primes', MAX(prime) AS 'Max prime' FROM #Primes&lt;/P&gt;&lt;P&gt;drop table #Primesgo&lt;/P&gt;&lt;P&gt;drop table #Numbersgo&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;/******** RYAN'S CODE************************/&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;--InputsDECLARE @MaxNumber INTSET @MaxNumber = 5000000&lt;/P&gt;&lt;P&gt;--PreparationSET NOCOUNT ONDECLARE @Time DATETIMESELECT @Time = GETDATE()&lt;/P&gt;&lt;P&gt;--Preparation - Numbers tableDECLARE @SqrtMaxNumber INTSET @SqrtMaxNumber = SQRT(@MaxNumber)SET ROWCOUNT @SqrtMaxNumberCREATE TABLE #Numbers (i BIGINT IDENTITY(1, 1) PRIMARY KEY CLUSTERED, j BIGINT, x bit)INSERT INTO #Numbers (x) SELECT NULL FROM syscomments c1 CROSS JOIN syscomments c2SET ROWCOUNT 0UPDATE #Numbers SET j = i*iPRINT 'Checkpoint A: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VARCHAR(10)) + ' ms'&lt;/P&gt;&lt;P&gt;--Preparation - Put candidate primes into a Primes table-- (integers which have an odd number of representations by certain quadratic forms)CREATE TABLE #Primes (i BIGINT PRIMARY KEY CLUSTERED)INSERT #PrimesSELECT 2 UNION ALL SELECT 3 UNION ALLSELECT k FROM (    SELECT k FROM (SELECT 4 * a.j + b.j AS k FROM #Numbers a, #Numbers b) c WHERE k &amp;lt;= @MaxNumber AND k % 12 IN (1, 5)    UNION ALL    SELECT k from (select 3 * a.j + b.j AS k FROM #Numbers a, #Numbers b) c WHERE k &amp;lt;= @MaxNumber AND k % 12 = 7    UNION ALL    SELECT k from (select 3 * a.j - b.j AS k FROM #Numbers a INNER JOIN #Numbers b ON a.i &amp;gt; b.i) c WHERE k &amp;lt;= @MaxNumber AND k % 12 = 11) d GROUP BY k HAVING COUNT(*) IN (1, 3)PRINT 'Checkpoint B: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VARCHAR(10)) + ' ms' &lt;/P&gt;&lt;P&gt;--Calculation - Eliminate composites by sievingDECLARE @i BIGINTSET @i = 5WHILE @i * @i &amp;lt; @MaxNumberBEGIN    DELETE #Primes WHERE i &amp;gt; @i and i % @i = 0    SELECT @i = min(i) FROM #Primes WHERE i &amp;gt; @i--    PRINT @iEND&lt;/P&gt;&lt;P&gt;--Show resultsPRINT 'Finish: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VARCHAR(10)) + ' ms'SELECT COUNT(*) AS 'Number of primes', MAX(i) AS 'Max prime' FROM #Primes--SELECT * FROM #Primes ORDER BY i&lt;/P&gt;&lt;P&gt;--Tidy upDROP TABLE #PrimesDROP TABLE #Numbers&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description><pubDate>Wed, 31 Jan 2007 01:44:00 GMT</pubDate><dc:creator>Jesper-244176</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;Good stuff Ryan!&lt;/P&gt;&lt;P&gt;Did you compare the runtime against any of the other code posted on this thread?&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description><pubDate>Tue, 30 Jan 2007 22:31:00 GMT</pubDate><dc:creator>Michael Valentine Jones</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT face=Arial color=#111111&gt;Here's a selection of results when I run the above code on a server here.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT face=Arial color=#111111&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT face=Arial color=#111111&gt;39 seconds to find all primes below 5 million, and 18 minutes to find all primes below 100 million.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;DECLARE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; @Results &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;TABLE&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;MaxNumber &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; CheckpointA &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; CheckpointB &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Finish &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; NumberOfPrimes &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;MaxPrime &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; AverageOfPrimes &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;INT&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;Seconds &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: fuchsia"&gt;CAST&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;Finish&lt;/st1:City&gt; &lt;/FONT&gt;&lt;st1:State w:st="on"&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;/st1:State&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;DECIMAL&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;/&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; Minutes &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: fuchsia"&gt;CAST&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;st1:place w:st="on"&gt;&lt;FONT color=#000000&gt;&lt;st1:City w:st="on"&gt;Finish&lt;/st1:City&gt; &lt;/FONT&gt;&lt;st1:State w:st="on"&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;/st1:State&gt;&lt;/st1:place&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;DECIMAL&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;/&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 60000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;    &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Time&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: fuchsia"&gt;CAST&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;Finish &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;/&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 60000 &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;VARCHAR&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;5&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;))&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;+&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;':'&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;+&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;RIGHT(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'0'&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;+&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: fuchsia"&gt;CAST&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;Finish &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;/&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1000 &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;%&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 60 &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;VARCHAR&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;FONT color=#000000&gt;2&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;)),&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 2&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: gray; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; @Results&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;          &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 60&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 93&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 106&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 168&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 997&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 453&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 5000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 76&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 123&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 140&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 669&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 4999&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 2314&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 10000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 76&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 156&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 186&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1229&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 9973&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 4667&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 50000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 76&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 280&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 360&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 5133&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 49999&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 23575&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 100000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 76&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 466&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 656&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 9592&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 99991&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 47372&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 500000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 76&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1250&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 2576&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 41538&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 499979&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 238678&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1000000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 93&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 2203&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 5516&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 78498&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 999983&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 478361&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 5000000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 110&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 10156&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 39280&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 348513&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 4999999&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 2406213&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 10000000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 93&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 20030&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 93403&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 664579&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 9999991&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 4820081&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 50000000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 123&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 208930&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 843080&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 3001134&lt;FONT color=#808080&gt;,&lt;/FONT&gt; 49999991&lt;FONT color=#808080&gt;,&lt;/FONT&gt; 24197369&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;UNION&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;ALL&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 100000000&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 140&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 466970&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 1089933&lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;&lt;FONT color=#000000&gt; 5761455&lt;FONT color=#808080&gt;,&lt;/FONT&gt; 99999989&lt;FONT color=#808080&gt;,&lt;/FONT&gt; 48461680&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: gray"&gt;*&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;FROM&lt;/SPAN&gt;&lt;FONT color=#000000&gt; @Results&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;/* Results&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;MaxNumber CheckpointA CheckpointB Finish&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;NumberOfPrimes MaxPrime AverageOfPrimes Seconds&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;Minutes&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;--------- ----------- ----------- ------- -------------- -------- --------------- ----------- ---------- -----&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;1000&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;60&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;93&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;106&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;168&lt;SPAN style="mso-spacerun: yes"&gt;            &lt;/SPAN&gt;997&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;453&lt;SPAN style="mso-spacerun: yes"&gt;             &lt;/SPAN&gt;0.106000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.001766&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:00&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;5000&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;76&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;123&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;140&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;669&lt;SPAN style="mso-spacerun: yes"&gt;            &lt;/SPAN&gt;4999&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;2314&lt;SPAN style="mso-spacerun: yes"&gt;            &lt;/SPAN&gt;0.140000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.002333&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:00&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;10000&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;76&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;156&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;186&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;1229&lt;SPAN style="mso-spacerun: yes"&gt;           &lt;/SPAN&gt;9973&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;4667&lt;SPAN style="mso-spacerun: yes"&gt;            &lt;/SPAN&gt;0.186000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.003100&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:00&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;50000&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;76&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;280&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;360&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;5133&lt;SPAN style="mso-spacerun: yes"&gt;           &lt;/SPAN&gt;49999&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;23575&lt;SPAN style="mso-spacerun: yes"&gt;           &lt;/SPAN&gt;0.360000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.006000&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:00&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;100000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;76&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;466&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;656&lt;SPAN style="mso-spacerun: yes"&gt;     &lt;/SPAN&gt;9592&lt;SPAN style="mso-spacerun: yes"&gt;           &lt;/SPAN&gt;99991&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;47372&lt;SPAN style="mso-spacerun: yes"&gt;           &lt;/SPAN&gt;0.656000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.010933&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:00&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;500000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;76&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;1250&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;2576&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;41538&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;499979&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;238678&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;2.576000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.042933&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:02&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;1000000&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;93&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;2203&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;5516&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;78498&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;999983&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;478361&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;5.516000&lt;SPAN style="mso-spacerun: yes"&gt;    &lt;/SPAN&gt;0.091933&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:05&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;5000000&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;110&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;10156&lt;SPAN style="mso-spacerun: yes"&gt;       &lt;/SPAN&gt;39280&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;348513&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;4999999&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;2406213&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;39.280000&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0.654666&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;0:39&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;10000000&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;93&lt;SPAN style="mso-spacerun: yes"&gt;          &lt;/SPAN&gt;20030&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt; &lt;/SPAN&gt;93403&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;664579&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;9999991&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;4820081&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;93.403000&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;1.556716&lt;SPAN style="mso-spacerun: yes"&gt;   &lt;/SPAN&gt;1:33&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;50000000&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;123&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;208930&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;843080&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;3001134        49999991 24197369&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;843.080000&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;14.051333&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;14:03&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;100000000 140&lt;SPAN style="mso-spacerun: yes"&gt;         &lt;/SPAN&gt;466970&lt;SPAN style="mso-spacerun: yes"&gt;      &lt;/SPAN&gt;1089933 5761455        99999989 48461680&lt;SPAN style="mso-spacerun: yes"&gt;        &lt;/SPAN&gt;1089.933000 18.165550&lt;SPAN style="mso-spacerun: yes"&gt;  &lt;/SPAN&gt;18:09&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#119911&gt;*/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;/SPAN&gt;&lt;/P&gt;</description><pubDate>Tue, 30 Jan 2007 06:50:00 GMT</pubDate><dc:creator>RyanRandall</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;Hi Jeff,&lt;/P&gt;&lt;P&gt;Here's some code so you can run it yourself. I'll add some run results in the next post.&lt;/P&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Inputs&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INTSET&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 5000000&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Preparation&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;NOCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ONDECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @Time &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DATETIMESELECT&lt;/FONT&gt;&lt;FONT size=2&gt; @Time &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;GETDATE&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;()&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Preparation - Numbers table&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @SqrtMaxNumber &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INTSET&lt;/FONT&gt;&lt;FONT size=2&gt; @SqrtMaxNumber &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;SQRT&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;@MaxNumber&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ROWCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; @SqrtMaxNumber&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CREATE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TABLE&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;i &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;IDENTITY&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;PRIMARY&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;KEY&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CLUSTERED&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; j &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; x &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;bit&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INSERT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INTO&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;x&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;NULL&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;FONT size=2&gt;syscomments c1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; syscomments c2&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; syscomments c3&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; syscomments c4&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ROWCOUNT&lt;/FONT&gt;&lt;FONT size=2&gt; 0&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;UPDATE&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; j &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt;i&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;PRINT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Checkpoint A: '&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;DATEDIFF&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;ms&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; @Time&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;GETDATE&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;())&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;VARCHAR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;))&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;' ms'&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Preparation - Put candidate primes into a Primes table-- (integers which have an odd number of representations by certain quadratic forms)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CREATE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TABLE&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;i &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BIGINT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;PRIMARY&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;KEY&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CLUSTERED&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INSERT&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; 2 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;UNION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;ALL&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;UNION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;ALL&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; 4 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;AND&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;%&lt;/FONT&gt;&lt;FONT size=2&gt; 12 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;IN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; 5&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    UNION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;ALL&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;AND&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;%&lt;/FONT&gt;&lt;FONT size=2&gt; 12 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 7&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    UNION&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;ALL&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;from&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;select&lt;/FONT&gt;&lt;FONT size=2&gt; 3 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;-&lt;/FONT&gt;&lt;FONT size=2&gt; b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;j &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers a &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;INNER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;JOIN&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers b &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ON&lt;/FONT&gt;&lt;FONT size=2&gt; a&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; b&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;AND&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;%&lt;/FONT&gt;&lt;FONT size=2&gt; 12 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 11&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; d &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GROUP&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BY&lt;/FONT&gt;&lt;FONT size=2&gt; k &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;HAVING&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;COUNT&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(*)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;IN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; 3&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;PRINT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Checkpoint B: '&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;DATEDIFF&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;ms&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; @Time&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;GETDATE&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;())&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;VARCHAR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;))&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;' ms'&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Calculation - Eliminate composites by sieving&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BIGINTSET&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 5&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHILE&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT size=2&gt; @MaxNumber&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BEGIN&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    DELETE&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;%&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 0&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;min&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; @i&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;    PRINT&lt;/FONT&gt;&lt;FONT size=2&gt; @i&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;END&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Show results&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;PRINT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Finish: '&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;DATEDIFF&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;ms&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; @Time&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;GETDATE&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;())&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;VARCHAR&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;))&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;' ms'&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;COUNT&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(*)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Number of primes'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;MAX&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Max prime'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;AVG&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AS&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'Average of primes'&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;*&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ORDER&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BY&lt;/FONT&gt;&lt;FONT size=2&gt; i&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;--Tidy up&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DROP&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TABLE&lt;/FONT&gt;&lt;FONT size=2&gt; #Primes&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DROP&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;TABLE&lt;/FONT&gt;&lt;FONT size=2&gt; #Numbers&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 30 Jan 2007 06:40:00 GMT</pubDate><dc:creator>RyanRandall</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;My suggestion, on our SQL Server 2000 installation it finds all primes less than 5000000 in 54 seconds. But of course it depends on the hardware... &lt;img src='images/emotions/hehe.gif' height='20' width='20' border='0' title='HeHe' align='absmiddle'&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;set nocount ongo&lt;/P&gt;&lt;P&gt;select top 5000000 identity(int, 1, 1) as Number into #Numbersfrom syscomments c1 cross join syscomments c2go&lt;/P&gt;&lt;P&gt;alter table #Numbers add constraint PK_Numbers primary key clustered (Number)go&lt;/P&gt;&lt;P&gt;create table #Primes(prime int primary key)go&lt;/P&gt;&lt;P&gt;declare @time datetimeselect @time = getdate()&lt;/P&gt;&lt;P&gt;declare @i intset @i = 1while @i*@i &amp;lt; 5000000begin insert into #Primes select n.Number from #Numbers n where n.Number &amp;lt; (@i+1)*(@i+1) and n.Number &amp;gt; @i*@i and not exists (  select * from #Primes p  where p.prime &amp;lt; @i + 1 and n.Number % p.prime = 0&amp;nbsp&lt;img src='images/emotions/wink.gif' height='20' width='20' border='0' title='Wink' align='absmiddle'&gt;&lt;/P&gt;&lt;P&gt; set @i = @i + 1end&lt;/P&gt;&lt;P&gt;--select * from #Primes&lt;/P&gt;&lt;P&gt;select datediff(ms, @time, getdate())&lt;/P&gt;&lt;P&gt;drop table #Primesgo&lt;/P&gt;&lt;P&gt;drop table #Numbersgo&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description><pubDate>Tue, 30 Jan 2007 02:59:00 GMT</pubDate><dc:creator>Jesper-244176</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;Hi Ryan,&lt;/P&gt;&lt;P&gt;What did you come up with for the largest prime number found and how many prime numbers?   I wanna make sure I'm doing it right...&lt;/P&gt;</description><pubDate>Mon, 29 Jan 2007 20:31:00 GMT</pubDate><dc:creator>Jeff Moden</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;Kathi&lt;/P&gt;&lt;P&gt;In the book you mentioned, Chris has Aspbergers Syndrome (rather than being autistic). There are many similarities, but people with Aspbergers for the most part can lead relatively 'normal' lives. There are varying degrees of both of course, and it's sometimes hard to make a clear distinction where one ends and the other begins. &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;MItch&lt;/P&gt;</description><pubDate>Mon, 29 Jan 2007 17:32:00 GMT</pubDate><dc:creator>Mitch Wheat-379974</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>Fun stuff.I tried to do something similar in VB several years ago...the trick was that I was trying to solve for primes bigger than any of the data types.  I ran out of time before I solved it...but it sure was a fun exercise!</description><pubDate>Mon, 29 Jan 2007 12:37:00 GMT</pubDate><dc:creator>GregLyon</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>More on primes at:&lt;a href = 'http://blogs.technet.com/wardpond/archive/2006/09/23/458344.aspx'&gt;http://blogs.technet.com/wardpond/archive/2006/09/23/458344.aspx&lt;/a&gt;&lt;a href='http://blogs.technet.com/wardpond/archive/2006/09/23/458580.aspx'&gt;http://blogs.technet.com/wardpond/archive/2006/09/23/458580.aspx&lt;/a&gt;&lt;a href='http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/23/Prime_numbers.aspx'&gt;http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/23/Prime_numbers.aspx&lt;/a&gt;&lt;a href='http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/23/Prime_numbers.aspx#comments'&gt;http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/23/Prime_numbers.aspx#comments&lt;/a&gt;And of course, at my _old_ blog at:&lt;a href='http://robfarley.blogspot.com/2006/09/primes.html'&gt;http://robfarley.blogspot.com/2006/09/primes.html&lt;/a&gt;&lt;a href='http://robfarley.blogspot.com/2006/09/more-on-primes.html'&gt;http://robfarley.blogspot.com/2006/09/more-on-primes.html&lt;/a&gt;All lots of fun...</description><pubDate>Mon, 29 Jan 2007 10:58:00 GMT</pubDate><dc:creator>Rob Farley</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>Good idea.</description><pubDate>Mon, 29 Jan 2007 08:59:00 GMT</pubDate><dc:creator>Kathi Kellenberger</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;By checking the square root outside of the select statement, you will save the processor a number of extra calculations.  I modified it to be this:&lt;/P&gt;&lt;P&gt; SELECT @NextIntSqrt = SQRT(@NextInt) IF NOT EXISTS (SELECT Prime FROM Primes WHERE @NextIntSqrt &amp;gt;= Prime AND @NextInt % Prime = 0) &lt;/P&gt;&lt;P&gt;Cuts down the calculation time significantly.  I also adjusted the order of the filters in the WHERE clause.&lt;/P&gt;</description><pubDate>Mon, 29 Jan 2007 08:49:00 GMT</pubDate><dc:creator>Jason-262847</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>Cool.  Looks like there are a lot of ways to solve this puzzle.  </description><pubDate>Mon, 29 Jan 2007 03:26:00 GMT</pubDate><dc:creator>Kathi Kellenberger</dc:creator></item><item><title>RE: Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>&lt;P&gt;&lt;FONT face=Arial size=3&gt;Finding primes is something I worked on about 6 months ago (for fun, of course &lt;img src='images/emotions/smile.gif' height='20' width='20' border='0' title='Smile' align='absmiddle'&gt;). Here's a link to the work...&lt;/FONT&gt;&lt;A href="http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=69646"&gt;&lt;FONT face=Arial size=3&gt;http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=69646&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=3&gt;It uses a sieve of Atkin approach, and in my tests back then, the function could find all primes below 100,000 in 0.5 seconds.&lt;/FONT&gt;&lt;FONT face=Courier&gt;&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Mon, 29 Jan 2007 03:07:00 GMT</pubDate><dc:creator>RyanRandall</dc:creator></item><item><title>Finding Primes</title><link>http://www.sqlservercentral.com/Forums/Topic333029-202-1.aspx</link><description>Comments posted here are about the content posted at &lt;A HREF="http://www.sqlservercentral.com/columnists/kKellenberger/2782.asp"&gt;http://www.sqlservercentral.com/columnists/kKellenberger/2782.asp&lt;/A&gt;</description><pubDate>Wed, 27 Dec 2006 11:43:00 GMT</pubDate><dc:creator>Kathi Kellenberger</dc:creator></item></channel></rss>