예제 #1
0
# o p t F i b . p y
#
#  Chris Meyers. 10/26/2013
#
from htmlFrame import HtmlFrame
from matrix    import Matrix

htmlPage = HtmlFrame()
htmlPage.banner = "Animated Fibonacci Sequence"
BOLD   = "color:red;font-weight:bold;"

fibs = Matrix(1,20)
fibs.tableAttr = 'cellspacing="0" cellpadding="10"'
fibs[0,0] = 1
fibs[0,1] = 1

for i in range(2,100) :
    fibs.style[0,i-1] = BOLD
    fibs.style[0,i-2] = BOLD
    fibs[0,i] = fibs[0,i-1]+fibs[0,i-2]
    fibs.title = "Last 2 elements add for new one"
    htmlPage.item1 = fibs.renderHtml(wrap=10)
    htmlPage.makeFrame()    #break
    fibs.style[0,i-2] = ""  # uncolor behind

예제 #2
0
htmlPage = HtmlFrame()
htmlPage.banner = "Animated Sieve of Erastosthenes"
BOLD   = "color:red;font-weight:bold;"

primes = Matrix(1,20)
primes.tableAttr = 'cellspacing="0" cellpadding="10"'
primes[0,0] = 2
nprimes = 1

for x in range(3,21) :
    primeSofar = True
    for px in range(nprimes) :
        primes.title = "Testing if %s is divisible by primes so far" % x
        primes.style[0,px] = BOLD
        htmlPage.item1 = primes.renderHtml(wrap=5)
        htmlPage.makeFrame()           #break
        primes.style[0,px] = ""
        div = primes[0,px]
        if x % div == 0 : primeSofar = False
        if not primeSofar : break

    if primeSofar :
        primes[0,nprimes] = x
        nprimes += 1
        primes.title = "Found a new prime %s" % x
    else :
        primes.title = "Not Prime: %s mod %s is zero" % (x,div)
    htmlPage.item1 = primes.renderHtml(wrap=5)
    htmlPage.makeFrame()
예제 #3
0
htmlPage = HtmlFrame()
htmlPage.banner = "Animated Sieve of Erastosthenes"
BOLD = "color:red;font-weight:bold;"

primes = Matrix(1, 20)
primes.tableAttr = 'cellspacing="0" cellpadding="10"'
primes[0, 0] = 2
nprimes = 1

for x in range(3, 21):
    primeSofar = True
    for px in range(nprimes):
        primes.title = "Testing if %s is divisible by primes so far" % x
        primes.style[0, px] = BOLD
        htmlPage.item1 = primes.renderHtml(wrap=5)
        htmlPage.makeFrame()  #break
        primes.style[0, px] = ""
        div = primes[0, px]
        if x % div == 0: primeSofar = False
        if not primeSofar: break

    if primeSofar:
        primes[0, nprimes] = x
        nprimes += 1
        primes.title = "Found a new prime %s" % x
    else:
        primes.title = "Not Prime: %s mod %s is zero" % (x, div)
    htmlPage.item1 = primes.renderHtml(wrap=5)
    htmlPage.makeFrame()
예제 #4
0
inp.tableAttr = 'border="1" cellspacing="0" cellpadding="4"',
inp.tableHeaders=['Item #','Weight','Value']             
for i in range(len(vals)) :
  inp.setrowVals(i, [i, wgts[i], vals[i]])

frame = Matrix(1,2)
frame[0,0] = inp.renderHtml()
nItems = len(vals)
best = Matrix(nItems,maxwgt+1)
best.dftFormat = "<pre>%03s</pre>"

for i in range(1,nItems) :
  best.setrowVal(i,0)
for i in range(1,nItems) :
  for w in range(0,maxwgt+1) :
    remBest = best[i-1,w-wgts[i]]
    if remBest == None : remBest = 0
    newSolution = vals[i]+remBest
    if ((wgts[i] <= w and newSolution > best[i-1,w])) :
      best[i,w] = newSolution
      best.style[i,w] = "background-color:pink"
      best.title = "Optimal solution for weight %s includes item %s" % (w,i)
      best.tableAttr='border="1" cellspacing="0" cellpadding="4"'
      best.tableHeaders=headers
      frame[0,1] = best.renderHtml()
      htmlPage.item1 = frame.renderHtml()
      htmlPage.makeFrame()  #break
    else :
      best[i,w] = best[i-1,w]

예제 #5
0
inp.tableAttr = 'border="1" cellspacing="0" cellpadding="4"',
inp.tableHeaders = ['Item #', 'Weight', 'Value']
for i in range(len(vals)):
    inp.setrowVals(i, [i, wgts[i], vals[i]])

frame = Matrix(1, 2)
frame[0, 0] = inp.renderHtml()
nItems = len(vals)
best = Matrix(nItems, maxwgt + 1)
best.dftFormat = "<pre>%03s</pre>"

for i in range(1, nItems):
    best.setrowVal(i, 0)
for i in range(1, nItems):
    for w in range(0, maxwgt + 1):
        remBest = best[i - 1, w - wgts[i]]
        if remBest == None: remBest = 0
        newSolution = vals[i] + remBest
        if ((wgts[i] <= w and newSolution > best[i - 1, w])):
            best[i, w] = newSolution
            best.style[i, w] = "background-color:pink"
            best.title = "Optimal solution for weight %s includes item %s" % (
                w, i)
            best.tableAttr = 'border="1" cellspacing="0" cellpadding="4"'
            best.tableHeaders = headers
            frame[0, 1] = best.renderHtml()
            htmlPage.item1 = frame.renderHtml()
            htmlPage.makeFrame()  #break
        else:
            best[i, w] = best[i - 1, w]