Long primes: Difference between revisions
Content added Content deleted
(Added Visual Basic .NET version, translation of C#) |
m (→{{header|C sharp}}: simplified SomePrimeGenerator.Primes slightly) |
||
Line 187: | Line 187: | ||
static class SomePrimeGenerator { |
static class SomePrimeGenerator { |
||
public static IEnumerable<int> Primes( |
public static IEnumerable<int> Primes(int lim) { |
||
bool [] flags = new bool[lim + 1]; |
bool [] flags = new bool[lim + 1]; int j = 2; |
||
for ( |
for (int d = 3, sq = 4; sq <= lim; j++, sq += d += 2) |
||
if (!flags[j]) { |
if (!flags[j]) { |
||
yield return (int |
yield return j; for (int k = sq; k <= lim; k += j) |
||
for (long k = sq; k <= lim; k += j) |
|||
flags[k] = true; |
flags[k] = true; |
||
} |
} |
||
for (; j<= lim; |
for (; j<= lim; j++) if (!flags[j]) yield return j; |
||
if (!flags[j]) |
|||
yield return (int)j; |
|||
} |
} |
||
}</lang> |
}</lang> |