Talk:Sum and product puzzle
Appearance
Remove draft status?
Now that I improved the task description, is this task ready for prime time? --Smls (talk) 14:47, 5 August 2016 (UTC)
Scala
Could someone in the know please explain these two lines in plain English?
val step2 = step0 filter { sumEq(_) forall { prodEq(_).size != 1 }}
step2 contains the pairs whose product is unique and ??
val step3 = step2 filter { prodEq(_).intersect(step2).size == 1 }
- step2 filters the step0 integer pairs for pairs where "For every possible sum decomposition of the number X+Y, the product has in turn more than one product decomposition"
- step3 filters the set defined by step2 for pairs where "The number X*Y has only one product decomposition for which fact 1 is true"
- Perhaps the Haskell or JavaScript versions might seem more legible ? Hout (talk) 17:35, 21 October 2016 (UTC)
- Still not explicit enough :-( Sorry Meanwhile I added 2 translations where I could understand the source (AWK and GO/ --Walterpachl (talk) 18:54, 26 October 2016 (UTC)
A question on GO
I translated GO to Rexx and the "final" piece missing for understanding is this:
Why does this justify the removal of the pair p??
Shouldn't the pair a/b be discarded???
for a := 2; a < s/2+s&1; a++ { b := s - a if products[a*b] == 1 { // Excluded because P would have a unique product continue pairs
--Walterpachl (talk) 19:59, 05 November 2016 (UTC)
- I think I found the answer myself:-) If ANY of the decompositions of the given pair's sum had a unique product I couldn't be sure that P does NOT know. So all pairs resulting in the given sum could be eliminated not just the one at hand. (They will be later on or have already been...) --Walterpachl (talk) 05:59, 10 November 2016 (UTC)
Java program inconsistent with others
It allows the sum to be equal to maximum value. The threshold for a second solution should be X+Y<1866, not 1865.