Advertisement
Guest User

subsum.jl

a guest
Dec 9th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 0.50 KB | None | 0 0
  1. from z3 import *
  2.  
  3. set =[-7, -3, -2, 5, 8]
  4. set_len =len(set)
  5.  
  6. vars =[ Int('vars_%d' % i) for i in range ( set_len )]
  7.  
  8. s= Solver ()
  9. rt =[]
  10.  
  11. for i in range ( set_len ):
  12.     rt. append (vars[i]* set[i])
  13.     s.add(Or(vars[i]==0 , vars[i]==1) ) # like bools
  14.  
  15. s.add(sum(vars)>=1)
  16. s.add(sum(rt)==0)
  17.  
  18. if s. check ()== False :
  19.     print "unsat "
  20.     exit (0)
  21. else:
  22.     print "ok"
  23.  
  24. m=s. model ()
  25.  
  26. for i in range ( set_len ):
  27.     if m[vars[i]]. as_long () ==1:
  28.         print set[i],
  29. print ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement