Data Analysis Mathematics Linear Algebra Statistics
New Version 7.0!  QuickStart Samples

# Prime Numbers QuickStart Sample (IronPython)

Illustrates working with prime numbers and the IntegerMath class in the Extreme.Mathematics namespace in IronPython.

```import numerics

# We use many classes from the Extreme.Mathematics.SpecialFunctions
# namespace.
from Extreme.Mathematics import *

#/ Illustrates working with prime numbers using the
#/ IntegerMath class in the Extreme.Mathematics.SpecialFunctions
#/ namespace of the Extreme Optimization Mathematics
#/ Library for .NET.

#
# Factoring numbers
#

n = 1001110110
factors = IntegerMath.Factorize(n)
print "{0} = {1}".format(n, factors),
for index in range(1, factors.Length):
print " *", factors[index],
print

# Factors that occur multiple times is repeated as many times as necessary:
n = 256 * 6157413
factors = IntegerMath.Factorize(n)
print "{0} = {1}".format(n, factors),
for index in range(1, factors.Length):
print " *", factors[index],
print

# The 64bit version can safely factor numbers up to 48 bits long:
n = 1296523 * 1177157
factors = IntegerMath.Factorize(n)
print "{0} = {1}".format(n, factors),
for index in range(1, factors.Length):
print " *", factors[index],
print

#
# Prime numbers
#

# The IsPrime method verifies if a number is prime or not.
n = 801853937
print n, "is prime?", IntegerMath.IsPrime(n), "!"
n = 801853939
print n, "is prime?", IntegerMath.IsPrime(n), "!"

# MextPrime gets the first prime after a specified number.
# You can call it repeatedly to get successive primes.
# Let#s get the 10 smallest primes larger than one billion:
n = 1000000000
print "\nFirst 10 primes greater than 1 billion:"
for index in range(0,10):
n = IntegerMath.NextPrime(n)
print "{0:15}".format(n),
print

# PreviousPrime gets the last prime before a specified number.
n = 1000000000
print "Last 10 primes less than 1 billion:"
for index in range(0,10):
n = IntegerMath.PreviousPrime(n)
print "{0:15}".format(n),
print```