<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: a better prime number generator</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Why not try a variation from basic example in Python Tutorial by Guido van Rossum?!</FONT>
</P>

<P><FONT SIZE=2>def getPrimesTill(x):</FONT>
<BR>        <FONT SIZE=2>primes=[2]</FONT>
<BR>        <FONT SIZE=2>for i in range(3,x,2):</FONT>
<BR>                <FONT SIZE=2>for x in range(2,i):</FONT>
<BR>                        <FONT SIZE=2>if i%x==0:</FONT>
<BR>                                <FONT SIZE=2>break</FONT>
<BR>                <FONT SIZE=2>else:</FONT>
<BR>                        <FONT SIZE=2>primes.append(i)</FONT>
<BR>        <FONT SIZE=2>return primes</FONT>
</P>

<P><FONT SIZE=2>Carlos Alberto</FONT>
<BR><FONT SIZE=2>COELCE/DPRON-Departamento de Projetos e Obras Norte</FONT>
<BR><FONT SIZE=2>Fone: 677- 2228</FONT>
<BR><FONT SIZE=2>e-mail: calves@coelce.com.br</FONT>
<BR><FONT SIZE=2>\|||/</FONT>
<BR><FONT SIZE=2>(o o)</FONT>
<BR><FONT SIZE=2>--ooo0-(_)-0ooo--</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: dhillon_rs@rediffmail.com [<A HREF="mailto:dhillon_rs@rediffmail.com">mailto:dhillon_rs@rediffmail.com</A>]</FONT>
<BR><FONT SIZE=2>Sent: Sunday, October 21, 2001 2:40 PM</FONT>
<BR><FONT SIZE=2>To: python-list@python.org</FONT>
<BR><FONT SIZE=2>Subject: a better prime number generator</FONT>
</P>
<BR>

<P><FONT SIZE=2>hi all,</FONT>
<BR><FONT SIZE=2>I have just been introduced to pyton and find it a very good ( takes</FONT>
<BR><FONT SIZE=2>off all the bookwork ) language. I was trying to develope a ast prime</FONT>
<BR><FONT SIZE=2>number generator. I designed the following algo. Can you please</FONT>
<BR><FONT SIZE=2>suggest a faster one or modifications to this only to make it faster</FONT>
</P>

<P><FONT SIZE=2>#the following algo returns all the primes below x</FONT>
</P>

<P><FONT SIZE=2>def getPrimesTill(x):</FONT>
<BR>        <FONT SIZE=2>a = range(2,x)</FONT>
<BR>        <FONT SIZE=2>c = [2]</FONT>
<BR>        
<BR>        <FONT SIZE=2>i = 0</FONT>
<BR>        <FONT SIZE=2>j = 0</FONT>
</P>

<P>        <FONT SIZE=2>foundone = 1</FONT>
<BR>        
<BR>        <FONT SIZE=2>while i < len(a):</FONT>
<BR>                <FONT SIZE=2>while j < len(c) and (c[j] < (.5 * a[i]) ) and foundone == 1:</FONT>
<BR>                        <FONT SIZE=2>if a[i]%c[j] == 0:</FONT>
<BR>                                <FONT SIZE=2>foundone = 0</FONT>
<BR>                        <FONT SIZE=2>j = j + 1</FONT>
<BR>                <FONT SIZE=2>if foundone == 1 and i > 0:</FONT>
<BR>                        <FONT SIZE=2>c.append(a[i])</FONT>
<BR>                <FONT SIZE=2>j = 0</FONT>
<BR>                <FONT SIZE=2>foundone = 1</FONT>
<BR>                <FONT SIZE=2>i = i + 1</FONT>
<BR>        <FONT SIZE=2>return c</FONT>
</P>
<BR>

<P><FONT SIZE=2>roop</FONT>
<BR><FONT SIZE=2>-- </FONT>
<BR><FONT SIZE=2><A HREF="http://mail.python.org/mailman/listinfo/python-list" TARGET="_blank">http://mail.python.org/mailman/listinfo/python-list</A></FONT>
</P>

</BODY>
</HTML>