Two sum: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: oops, missing parens) |
(added ocaml) |
||
Line 1,285: | Line 1,285: | ||
<pre> |
<pre> |
||
[1,3] |
[1,3] |
||
</pre> |
|||
=={{header|OCaml}}== |
|||
{{trans|C}} |
|||
<lang ocaml>let get_sums ~numbers ~sum = |
|||
let n = Array.length numbers in |
|||
let res = ref [] in |
|||
for i = 0 to n - 2 do |
|||
for j = i + 1 to n - 1 do |
|||
if numbers.(i) + numbers.(j) = sum then |
|||
res := (i, j) :: !res |
|||
done |
|||
done; |
|||
!res |
|||
let () = |
|||
let numbers = [| 0; 2; 11; 19; 90 |] |
|||
and sum = 21 |
|||
in |
|||
let res = get_sums ~numbers ~sum in |
|||
List.iter (fun (i, j) -> |
|||
Printf.printf "# Found: %d %d\n" i j |
|||
) res</lang> |
|||
{{out}} |
|||
<pre> |
|||
$ ocaml two_sum.ml |
|||
# Found: 1 3 |
|||
</pre> |
</pre> |
||