Write a function two-subsets in scheme programming language
Your code must be written in R5RS!
Write a function two-subsets in Scheme that takes a list L of positive integers (duplicates are possible, zero is not considered a positive integer) and some auxiliary parameters of your choice. The function two-subsets returns #t if the list L contains two subsets with equal sums of elements and with equal numbers of elements. Otherwise (if two subsets satisfying the condition above do not exist), the function returns #f. Assume that the list L contains at least two integers.
It is up to you to choose the auxiliary parameters that two-subsets takes. All auxiliary parameters must be numeric (not lists) and should have initial values set to zero. For example, if L is ‘(1 2 3) and if you decide to use two additional auxiliary parameters, then two-subsets must be called as follows:
(two-subsets ‘(1 2 3) 0 0)
If there are three auxiliary parameters, then the function must be called: (two-subsets ‘(1 2 3) 0 0 0) and so on.
Examples
(two-subsets ‘(5 3 21 2 4) 0 0) returns #t. The two subsets are {2, 5} and {3, 4}. (two-subsets ‘(2 13 7 5 16 11) 0 0) returns #t. The two subsets are {7, 11} and
{5, 13}.
(two-subsets ‘(1 2 3 6 9) 0 0) returns #f.
You can use ONLY the following constructs:
– null?
cond
car
cdr
else
–
+
=
– not
– and
– #t
– #f
– two-subsets
– the names of your parameters, such as list, sum, etc. – numeric constants, such as 0, 1, 2, etc.
– parentheses
Select your paper details and see how much our professional writing services will cost.
Our custom human-written papers from top essay writers are always free from plagiarism.
Your data and payment info stay secured every time you get our help from an essay writer.
Your money is safe with us. If your plans change, you can get it sent back to your card.
We offer more than just hand-crafted papers customized for you. Here are more of our greatest perks.
Get instant answers to the questions that students ask most often.
See full FAQ