Code simple et erreur de typage (CAML)
Discutez d'informatique ici !
-
Archytas
- Habitué(e)
- Messages: 1223
- Enregistré le: 19 Fév 2012, 13:29
-
par Archytas » 19 Fév 2015, 00:51
Salut, j'ai un programme "isprime n" en caml qui teste si un nombre n est premier.
Maintenant je cherche les couples de nombres premiers dans un liste l de couples d'entiers et je voudrais renvoyer ces couples et leur nombre donc c'est super basique mais ça fait longtemps que j'ai pas touché à l'info et j'ai fais une erreur de débutant dans le typage et les if que je trouve pas

.
Voici le code
let rec cherche l =
match l with
| [] -> ([], 0)
| (a, b) :: q -> if (isprime a) && (isprime b) then
let (h, k) = cherche q in
((a, b) :: h, k + 1);;
Et voici l'erreur
#let rec cherche l =
Entrée interactive:
>....................if (isprime a) && (isprime b) then
> let (h, k) = cherche q in
> ((a, b) :: h, k + 1)..
Cette expression est de type unit,
mais est utilisée avec le type (int * int) list * int.
-
Archytas
- Habitué(e)
- Messages: 1223
- Enregistré le: 19 Fév 2012, 13:29
-
par Archytas » 19 Fév 2015, 01:01
Archytas a écrit:Salut, j'ai un programme "isprime n" en caml qui teste si un nombre n est premier.
Maintenant je cherche les couples de nombres premiers dans un liste l de couples d'entiers et je voudrais renvoyer ces couples et leur nombre donc c'est super basique mais ça fait longtemps que j'ai pas touché à l'info et j'ai fais une erreur de débutant dans le typage et les if que je trouve pas

.
Voici le code
Et voici l'erreur
Bon autant pour moi j'ai trouvé sujet clos désolé

.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité