Jump to content

Two sum: Difference between revisions

added ocaml
m (→‎{{header|Perl}}: oops, missing parens)
(added ocaml)
Line 1,285:
<pre>
[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>
 
Cookies help us deliver our services. By using our services, you agree to our use of cookies.