langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
14
Task/Arithmetic-Rational/OCaml/arithmetic-rational-1.ocaml
Normal file
14
Task/Arithmetic-Rational/OCaml/arithmetic-rational-1.ocaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#load "nums.cma";;
|
||||
open Num;;
|
||||
|
||||
for candidate = 2 to 1 lsl 19 do
|
||||
let sum = ref (num_of_int 1 // num_of_int candidate) in
|
||||
for factor = 2 to truncate (sqrt (float candidate)) do
|
||||
if candidate mod factor = 0 then
|
||||
sum := !sum +/ num_of_int 1 // num_of_int factor
|
||||
+/ num_of_int 1 // num_of_int (candidate / factor)
|
||||
done;
|
||||
if is_integer_num !sum then
|
||||
Printf.printf "Sum of recipr. factors of %d = %d exactly %s\n%!"
|
||||
candidate (int_of_num !sum) (if int_of_num !sum = 1 then "perfect!" else "")
|
||||
done;;
|
||||
11
Task/Arithmetic-Rational/OCaml/arithmetic-rational-2.ocaml
Normal file
11
Task/Arithmetic-Rational/OCaml/arithmetic-rational-2.ocaml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
let () =
|
||||
for candidate = 2 to 1 lsl 19 do
|
||||
let sum = ref Num.(1 / of_int candidate) in
|
||||
for factor = 2 to truncate (sqrt (float candidate)) do
|
||||
if candidate mod factor = 0 then
|
||||
sum := Num.(!sum + 1 / of_int factor + of_int factor / of_int candidate)
|
||||
done;
|
||||
if Num.is_integer_num !sum then
|
||||
Printf.printf "Sum of recipr. factors of %d = %d exactly %s\n%!"
|
||||
candidate Num.(to_int !sum) (if Num.(!sum = 1) then "perfect!" else "")
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue