101
reputation
4

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')
0
answers
1
question
~174
people reached
  • Member for 8 months
  • 5 profile views
  • Last seen Dec 7 at 0:30

Top tags (1)

Score 0
Posts 1
Posts % 100

Top posts (1) All Questions Answers | Votes Newest

Badges (4)

Gold

Silver

Bronze

4

Rarest