Probleme serieux,.. les maths

Fermé
martani Messages postés 37 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 4 avril 2010 - 12 nov. 2008 à 13:13
martani Messages postés 37 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 4 avril 2010 - 12 nov. 2008 à 13:16
Bonjour,
quand on donnes un enfant un ensemble (mathématique bien sure) et on demande les sous ensemble de cet ensemble, il va faire quoi? ok il nous donne les parties mais meme les humain ne sais pas comment le cerveau se brouille pour avoir des solutions au problème.
alors mon probleme c le suivant
pour n entier donné on cherche les solutions de a1+a2+....=n avec les a dans un ensemble l et l'ordre des a compte
par exemple si l={1,2} et n=4
donc les solutions:
2+2;
2+1+1
1+2+1
1+1+2
1+1+1+1

et l'autre probleme c
on a un ensemble E a n element on cherche les ensemble des parties deux a deux disjoints et de taille dans la liste l et dont l'union et E.
exemple E={a,b,c} et l={2,1} donc la solution c
{{a},{b},{c}},{{a},{b,c}},{{b},{a,c}},{{c},{a,b}}

j'espere que vous pouvez m'aider en plus si les sol sont dans un language fonctionnel ça serai mieux
A voir également:

1 réponse

martani Messages postés 37 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 4 avril 2010
12 nov. 2008 à 13:16
salut a tous voici l'algo su premier probleme mais il compte pas l'ordre c implementer en OCAML

let rec ajout a l=
  match l with
  []->[]
  |x::s->[a::x]@(ajout a s);;
	
let rec enum n p=
	if n<=0 then [[]]
	else
		begin
		if p=[] then []
		else
			begin
				let x::s=p in
					if x<=n then (ajout x (enum (n-x) p))@(enum n s)
					else enum n s
			end
		end;;


voila et
enum 4 [1;2]
donne
[[2;2];[1;1;1;1];[1;1;2]];;


i wish that help
0