321
reputation
8

Travis Wells

# Subset-Product solver
# with minor improvements

import itertools 
import numpy

s = list(map(int, input('Enter numbers WITH SPACES: ').split(' ')))
print('enter target integer: ')
target = int(input())

# This chunk of code is meant to experiment with no instances
# in poly time.


for i in s:
  if i < 0:
    print('must only be positive integers')
    quit()



check = [];
if numpy.prod(s) % target == 0:
   check.append(target)
if len(check) < 1:
  print(target, 'is a FALSE subset product')
  quit()

if s.count(str(target)+str(' ')) > 0:
   print('yes')
else:
   print('no')
   quit()

def findsubsets(s, n): 
    return list(itertools.combinations(s, n)) 

# Driver Code 
n = len(s)


# This code snippet is a for loop. It also is intended to cut down execution
# time ounce it finds the target integer. (instead of creating all combinations)


res_2 = [];
for i in range(1, len(s)+1):
   if i > 1:
      var = (findsubsets(s, i))
      kk = list(map(numpy.prod, var))
      res_2.append(kk)
   if str(res_2).count(str(target)+str(',')) > 0:
      print('yes')
      quit()

if str(res_2).count(str(target)) > 0:
  print('yes')
1
answer
4
questions
~1k
people reached
  • Member for 9 months
  • 20 profile views
  • Last seen Nov 29 at 16:17

Top tags (3)

Score 1
Posts 5
Score 1
Posts 2
Score 0
Posts 1

Top posts (5) All Questions Answers | Votes Newest

Badges (8)

Gold

Silver

Bronze

8

Rarest