CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme algo

Zephiel
Zephiel
Niveau 10
20 octobre 2012 à 11:26:40

Bonjour,

J'ai un probleme d'algorithmique assez difficile.

En fait j'aimerais une fonction qui prends un parametre un tableau d'entier et un nombre.
Le principe est de trouve toutes les combinaisons possible, par example :

Input : {2,1} et 7

la fonction dois me sortir toutes les combinaison de taille 7 et de 2 X et de 1 x separer par au moins 1 espace, par example :

X X - X - - -
X X - - X - -
X X - - - X -
X X - - - - X
- X X - X - -
- X X - - X -
- X X - - - X
- - X X - X -
- - X X - - X
- - - X X - X

ou encore [1, 1] 3 je dois avoir
X - X

ou encore {2,1,2) 8 ca dois me donner

X X - X - X X -
X X - X - - X X
X X - - X - X X
- X X - X - X X

J'ai aucune idee de comment faire, probablement un truc recursif mais je vois pas...

Help !!!

Merci d'avance =)

hyrulink2
hyrulink2
Niveau 7
20 octobre 2012 à 12:44:28

Oui tu va avoir besoin de la récursivité.
Si on veut afficher X1 X2..Xn avec T caractères:
M est le nombre de caractère minimum dont on aura besoin pour afficher les X1..Xn. On a T - M décalages possibles pour afficher les X1 premiers caractères. Donc afficher(X1..Xn, T) revient à:
-afficher(X1 * 'X' + '-', X2..Xn, T - X1 - 1)
-afficher('-' + X1 * 'X' + '-', X2..Xn, T - 3)
-...
-afficher((T - M) * '-' + X1 * 'X' + '-', X2..Xn, T - X1 - 1 - (T - M))

Voila je sais pas si j'ai été très clair

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment