# 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
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()
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()
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]
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]