Manioc

equação

Dec 17th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.91 KB | None | 0 0
  1. def op(num, lista, val):
  2.     if num == 1:
  3.         return [lista[0]+val, lista[1]+"+"+str(val)]
  4.  
  5.     elif num == 2:
  6.         return [lista[0]-val, lista[1]+"-"+str(val)]
  7.    
  8.     elif num == 3:
  9.         return [lista[0]*val, "(" + lista[1]+")*"+str(val)]
  10.  
  11.     elif num == 4:
  12.         return [lista[0]/val, "(" + lista[1]+")/"+str(val)]
  13.  
  14. def bfs(val, n):
  15.     fila = []
  16.  
  17.     fila.append([val+val, str(val)+"+"+str(val)])
  18.     fila.append([val-val, str(val)+"-"+str(val)])
  19.     fila.append([val/val, str(val)+"/"+str(val)])
  20.     fila.append([val*val, str(val)+"*"+str(val)])
  21.  
  22.     while True:
  23.         x = len(fila)
  24.  
  25.         for i in range(len(fila)):
  26.             if fila[i][0] == n:
  27.                 print fila[i][1]
  28.                 return 0
  29.             for j in range(1,5):
  30.                 fila.append(op(j, fila[i], val))
  31.        
  32.         fila = fila[x:]
  33.  
  34. n, p = map(int, raw_input().split())
  35.  
  36. bfs(p, n)
Advertisement
Add Comment
Please, Sign In to add comment