Bonjour.
Je voudrais utiliser CamL avec de très grands entiers (10^200 au moins).
Existe-t-il une bibliothèque me permettant de le faire (comme NTL en C)?
Bonjour.
Je voudrais utiliser CamL avec de très grands entiers (10^200 au moins).
Existe-t-il une bibliothèque me permettant de le faire (comme NTL en C)?
Calcul de PI en goutte-à-goutte à l'aide de Big_int:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 (* Native code compilation: * * ocamlopt -unsafe -o pi.exe nums.cmxa pi.ml *) (* #load "nums.cma";; *) let add = Big_int.add_big_int and sub = Big_int.sub_big_int and succ = Big_int.succ_big_int and pred = Big_int.pred_big_int and mult = Big_int.mult_big_int and div = Big_int.div_big_int and add_int = Big_int.add_int_big_int and mult_int = Big_int.mult_int_big_int and big_int = Big_int.big_int_of_int and int_of = Big_int.int_of_big_int ;; let pi () = let rec g q r t i = let i3 = mult_int 3 i in let u = mult_int 3 (mult (add_int 1 i3) (add_int 2 i3)) and y = int_of (div (add (mult q (sub_int 12 (mult_int 27 i))) (mult_int 5 r)) (mult_int 5 t)) in begin print_int y; flush stdout; g (mult_int 10 (mult q (mult i (sub_int 1 (mult_int 2 i))))) (mult_int 10 (mult u (sub (add (mult q (sub_int 2 (mult_int 5 i))) r) (mult_int y t)))) (mult t u) (add_int 1 i); () end in g (big_int 1) (big_int 180) (big_int 60) (big_int 2);; pi ();;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager