Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: cp1252 -*-
- from __future__ import division
- def randomArray(size):
- lst = []
- for x in range(0, size):
- lst.append(random.randint(0,10))
- return lst
- def find_kvot(lst):
- if len(lst) == 2 :
- talg = lst[1]
- namn = lst[0]
- kvot = talg / namn
- return [kvot, namn, talg]
- if len(lst) == 1:
- return [-1, lst[0], lst[0]]
- mid = len(lst)//2
- lefthalf = lst[:mid]
- righthalf = lst[mid:]
- kvotleft = find_kvot(lefthalf)
- kvotright = find_kvot(righthalf)
- minmax = 0
- counter = 0
- if kvotleft[0] >= kvotright[0]: #Jämför kvoterna
- merge = list(kvotleft)
- #counter1
- if kvotright[1] > kvotright[2]: #minmax = max i kvotright
- minmax = kvotright[1]
- #counter +=1
- else:
- minmax = kvotright[2]
- if kvotleft[2] < minmax: #Om tälgaren i kvotleft är mindre än minmax
- merge[2] = minmax
- #counter +=1
- if kvotleft[2] < kvotleft[1]: #Om tälgaren i kvotleft är mindre nämnaren
- merge[1] = kvotleft[2]
- #counter +=1
- elif kvotright[0] > kvotleft[0]: #Jämför kvoterna
- merge = list(kvotright)
- #counter +=1
- if kvotleft[1] > kvotleft[2]: #minmax = min i kvotleft
- minmax = kvotleft[2]
- #counter +=1
- else:
- minmax = kvotleft[1]
- if kvotright[1] > minmax: #Om nämnaren i kvotright är större än minmax
- merge[1] = minmax
- #counter +=1
- if kvotright[1] > kvotright[2]:
- merge[2] = kvotright[1]
- #counter +=1
- merge[0] = merge[2] / merge[1] #Skapar nya kvoten
- print counter
- return merge
- def main():
- li = [10, 2, 12, 4, 43, 55, 57, 13]
- lst1 = [10,1,100,2]
- lst2 = [1, 4, 6, 2, 4, 1, 10, 3]
- print find_kvot(lst1)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement