Sum and product puzzle: Difference between revisions

Added 11l
m (→‎version 2: corrected a misspelling.)
(Added 11l)
Line 51:
*   Wikipedia:   [[wp:Sum and Product Puzzle|Sum and Product Puzzle]]
<hr>
 
=={{header|11l}}==
{{trans|Python}}
 
<lang 11l>F counter(arr)
V d = DefaultDict[Int, Int]()
L(a) arr
d[a]++
R d
 
F decompose_sum(s)
R (2 .< Int(s / 2 + 1)).map(a -> (a, @s - a))
 
V all_pairs_set = Set[(Int, Int)]()
L(a) 2..99
L(b) a + 1 .< 100
I a + b < 100
all_pairs_set.add((a, b))
V all_pairs = Array(all_pairs_set)
 
V product_counts = counter(all_pairs.map((c, d) -> c * d))
V unique_products = Set(all_pairs.filter((a, b) -> :product_counts[a * b] == 1))
V s_pairs = all_pairs.filter((a, b) -> all(decompose_sum(a + b).map((x, y) -> (x, y) !C :unique_products)))
 
product_counts = counter(s_pairs.map((c, d) -> c * d))
V p_pairs = s_pairs.filter((a, b) -> :product_counts[a * b] == 1)
 
V sum_counts = counter(p_pairs.map((c, d) -> c + d))
V final_pairs = p_pairs.filter((a, b) -> :sum_counts[a + b] == 1)
 
print(final_pairs)</lang>
 
{{out}}
<pre>
[(4, 13)]
</pre>
 
=={{header|AWK}}==
1,453

edits