Fonction ocaml
Résolu/Fermé
ocaml555
-
29 juin 2011 à 19:25
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 29 juin 2011 à 21:17
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 29 juin 2011 à 21:17
A voir également:
- Fonction ocaml
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
8 réponses
doodoo_ch
Messages postés
13
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
18 octobre 2011
29 juin 2011 à 19:36
29 juin 2011 à 19:36
http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/
merci mais je ne sait pas trop ou trouver la reponse donc ci t'a une idee sur la solution elle est la bienvenu merci
doodoo_ch
Messages postés
13
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
18 octobre 2011
29 juin 2011 à 19:48
29 juin 2011 à 19:48
désolé mais j'ai seulement 12 ans donc je n'utilise pas de language informatique
nicocorico
Messages postés
799
Date d'inscription
dimanche 19 juin 2011
Statut
Membre
Dernière intervention
3 juillet 2018
138
29 juin 2011 à 21:17
29 juin 2011 à 21:17
La programmation est sans doute une sorte de drogue, mais de celles que tu peux commencer à 12 ans sans danger !
Le chêne aussi était un gland, avant d'être un chêne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
29 juin 2011 à 20:02
29 juin 2011 à 20:02
Dans un premier temps tu peux regarder cette discussion : langage C nombre parfait, ce n'est pas tout à fait ton sujet mais j'y expliquait comment trouver efficacement les diviseurs d'un entiers, pour l'adapter à ton problème il te faudra rajouter le diviseur à ta liste à chaque fois que moi je le rajoutait à la somme.
Remarque pour ajouter un nombre à une liste tu peux faire
1) let liste = element::liste
2) let liste = liste::[element]
Remarque pour ajouter un nombre à une liste tu peux faire
1) let liste = element::liste
2) let liste = liste::[element]
merci mais vue que je ne coné rien au c je ne sais pas vrement comment faire peut tu m'aidez et merc
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
29 juin 2011 à 20:46
29 juin 2011 à 20:46
Si tu arrives au moins à lire mes explications en français, tu comprendras ce que j'ai fait :
let diviseurs n = let liste=ref [1;n] and r=ref (int_of_float(sqrt(float_of_int n))) in if !r * !r=n then begin liste := !r :: !liste; decr(r); end; for i=2 to !r do if (n mod i==0) then liste:= !liste@[i;n/i]; done; !liste;;
eureka g fini par trouvé sufisait juste d'utilisé une rec local
merci pour ta solution KX mais je la trouve asser longue
voila la mienne
let g x=let rec g1 b = if b=1 then[1] else if (x mod b)=0 then b::(g1 (b-1)) else g1 (b-1) in g1 x;;
merci pour ta solution KX mais je la trouve asser longue
voila la mienne
let g x=let rec g1 b = if b=1 then[1] else if (x mod b)=0 then b::(g1 (b-1)) else g1 (b-1) in g1 x;;
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
29 juin 2011 à 21:05
29 juin 2011 à 21:05
Si tu lis le lien que je t'ai donné, tu verras pourquoi ma fonction est plus longue, c'est pour améliorer le temps de calcul...
Regarde à partir de 100 000 000, tu n'as peut-être pas besoin de calculer de grandes valeurs, mais savoir optimiser est toujours utile...
Regarde à partir de 100 000 000, tu n'as peut-être pas besoin de calculer de grandes valeurs, mais savoir optimiser est toujours utile...
ashboy
Messages postés
52
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
29 juin 2011
29 juin 2011 à 21:09
29 juin 2011 à 21:09
oui mais bon a mon niveau c'est tous se que je peut faire je ne comprend pas la moitie des fonction que tu a utilisé donc en tant que débutant c tous se dont je suis capable