Construisez une foule de visages de Lenny étrangement heureux (͡ ° ͜ʖ ͡ °)


25

Je passais par un fil bizarre sur Reddit, et je suis tombé sur ceci:

(͡ ° (͡ ° ͜ʖ (͡ ° ͜ʖ ͡ °) ʖ ͡ °) ͡ °)

Cela représente un groupe de personnes qui sourient un peu avec méfiance.

(Cependant, dans le défi ci-dessous, les espaces à gauche des yeux droits ont été supprimés pendant que j'écrivais le défi. Notez la spécification).


Votre objectif est de créer un groupe de visages souriants de Lenny navec les règles suivantes:

  1. À la profondeur un, un visage complet ( ( ͡° ͜ʖ ͡°)) est affiché.
  2. À la profondeur deux, des demi-faces sont représentées. Sur le côté gauche, un peu plus de la moitié du visage ( ( ͡° ͜ʖ) est représenté. A droite cependant, le côté droit est montré, et la bouche est omise ( ʖ ͡°))
  3. Plus profond, et seuls les côtés de la tête et des yeux sont affichés ( ( ͡°et ͡°). Il y a un espace entre l'œil et le côté gauche de la tête, mais il n'y a, malgré les apparences, aucun espace sur le côté droit. L'espacement est dû au ͡caractère qui dérange un peu les choses.

Contribution:

  • n, indiquant le nombre de couches de visages à afficher.
  • nsera toujours dans la plage 0 <= n <= 500. Vous n'êtes pas obligé de manipuler quoi que ce soit en dehors de cette plage.
  • npeut être décalé de 1 de sorte que 0 signifie une face au lieu d’aucune face. Vous devrez alors gérer -1.

Sortie:

  • Une chaîne ou un tableau de caractères, ou quelque chose de comparable à distance (comme une liste de chaînes à un caractère en Python / Javascript). Il peut également être imprimé directement. La fin des espaces blancs est très bien.

Vous pouvez soumettre un programme complet ou une fonction.


Puisqu'il est difficile de voir quels personnages sont impliqués, voici ce qui est présenté en Python:

>> [ord(c) for c in '( ͡° ͜ʖ ͡°)']
[40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41]

>> [ord(c) for c in '( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)']
[40, 32, 865, 176, 40, 32, 865, 176, 40, 32, 865, 176, 32, 860, 662, 40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41, 662, 32, 865, 176, 41, 865, 176, 41, 865, 176, 41]

Cas de test:

face_crowd(0)
''

face_crowd(1)
'( ͡° ͜ʖ ͡°)'

face_crowd(2)
'( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)'

face_crowd(5)
'( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)'

face_crowd(10)
'( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)'

face_crowd(500)
'( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)'

Voici une implémentation de référence récursive extraordinairement naïve (publiée sur mon Github). J'ai essayé d'être aussi clair que possible pour plus de clarté; mais il y a beaucoup de duplication

Je l'ai posté en externe parce que je voulais l'envelopper dans un spoiler au cas où les gens ne voudraient pas voir une référence, mais cela complique la copie du code. Je pense que ce n'est pas vraiment important pour le défi, donc ce n'est pas grave si ça descend, je peux le coller ici si c'est jugé important.


Il s'agit de code-golf, donc le moins d'octets dans chaque langue gagne.


11
Il semble encore plus suspect lorsqu'il est rendu sur TIO. : p
Arnauld

La spécification et les cas de test semblent être incohérents; la spécification a un espace au début de la partie droite de ces dernières profondeurs, contrairement aux cas de test.
tjjfvi

@Arnauld Oh wow. Ya, partout semble le montrer un peu différemment.
Carcigenicate


1
@Arnauld J'aime aussi l'édition d'URL: -͡-͜ʖ-͡
val dit Réintégrer Monica

Réponses:


14

Haskell , 89 87 80 octets

7 octets de moins grâce à xnor

(!!)$"":x:iterate(4#8)(7#6$x)
x="( ͡° ͜ʖ ͡°)"
(a#b)y=take a x++y++drop b x

Essayez-le en ligne!

Pour commencer, nous attribuons (͡ ° ͜ʖ ͡ °) à une chaîne xpour plus de commodité.

x="( ͡° ͜ʖ ͡°)"

Ensuite, nous construisons une liste des réponses et l'indexons pour trouver la solution. Cela se fait en codant en dur les deux premières réponses comme les deux premiers éléments de la liste, puis en itérant une fonction qui ajoute les 4 premiers caractères et les 4 derniers caractères au recto et au verso de la chaîne dans la troisième réponse.

(!!)$"":x:iterate(4#8)(7#6$x)

Nous avons également la fonction spéciale (#)qui ajoute une quantité spécifiée de (͡ ° ͜ʖ ͡ °) à l'avant et à l'arrière d'une chaîne:

(a#b)y=take a x++y++drop b x

8

JavaScript (ES6), 66 octets

f=n=>n?"( ͡°"+(--n>1?f(n):" ͜ʖ"+(n?f(n)+"ʖ ":" "))+"͡°)":""

Essayez-le en ligne!

Ou essayez-le avec l'extrait de code suivant pour un meilleur rendu.

Commenté

Dans le code suivant, nous utilisons le jeu de caractères "eEMN"(sourcils, yeux, bouche et nez respectivement) afin de conserver la mise en forme.

f = n =>           // f is a recursive function taking the number n of remaining
                   // faces to draw
  n ?              // if n is greater than 0:
    "( eE" + (     //   append the left cheek + a space + the left eye
      --n > 1 ?    //   decrement n; if it's still greater than 1:
        f(n)       //     append the result of a recursive call
      :            //   else (n = 0 or 1):
        "MN" + (   //     append the mouth and the nose
          n ?      //     if n = 1:
            f(n)   //       append the result of a recursive call
            + "N " //       followed by the nose + a space
          :        //     else (n = 0):
            " "    //       append a space and stop recursion
        )          //
    )              //
    + "eE)"        //   append the right eye + the right cheek
  :                // else:
                   //   the special case n = 0 is reached only if the original
    ""             //   input is 0; just return an empty string

6

Python 3 , 75 octets

f=lambda i:L[:7+~2%~i]+f(i-1)+L[6+2%i:]if i>1else L*i
L='( ͡° ͜ʖ ͡°)'

Essayez-le en ligne!

-6 octets grâce à xnor


6
J'ai fait des recherches par force brute et j'ai découvert que cela 4+3*(i<3)pouvait être 7+~2%~iet 8-2*(i<3)pouvait être 6+2%i.
xnor

@xnor Brilliant, merci!
Jitse

6

Excel, 85 octets

=IF(A1>1,REPT("( ͡°",A1-1)&" ʖ( ͡° ͜ʖ ͡°)ʖ "&REPT("͡°)",A1-1),REPT("( ͡° ͜ʖ ͡°)",A1))

Solution naïve pour n>1. Deuxième répétition requise pour gérer le 0boîtier de test.


Avez-vous besoin du dernier REPT?
Neil

Le dernier REPTest nécessaire pour gérer le 0cas.
Wernisch

5

Retina 0.8.2 , 56 octets

.+
$*< $&$*>
 >>
 >ʖ >
<(?=<? )
< ͜ʖ
<
( ͡°
>
͡°)

Essayez-le en ligne! Explication:

.+
$*< $&$*>

Générez les joues, mais utilisez <s et >s car (s et )s devront être cités. Un espace au milieu se retrouve entre le nez de l'homme du milieu et l'œil gauche.

 >>
 >ʖ >

Si l'homme au milieu a un homme sur sa gauche, donnez-lui un nez et un espace entre lui et son œil gauche.

<(?=<? )
< ͜ʖ

Ajoutez la bouche et le nez à l'homme au milieu et l'homme à sa droite le cas échéant. Nous ne voyons pas l'œil gauche de l'homme à sa droite, il n'a donc pas besoin d'espace, et nous avons donné à l'homme au milieu un espace au premier étage.

<
( ͡°

Fixez les joues droites et ajoutez les yeux droits.

>
͡°)

Fixez les joues gauches et ajoutez les yeux gauches.


1
@Arnauld Phew, cela m'a pris du temps, mais je pense que j'ai réussi à le réparer pour un seul octet supplémentaire!
Neil


4

Informer 7 , 262 octets

To say x:say "[Unicode 865][Unicode 176]".
To say y:say Unicode 860.
To say z:say Unicode 662.
To say p (N - number):say "( [x][p N minus 1][x])".
To say p (N - 2):say "( [x] [y][z][p 1][z][x])".
To say p (N - 1):say "( [x] [y][z] [x])".
To say p (N - 0):say "".

Cela profite de la surcharge de fonctions d'Inform 7: la surcharge la plus spécifique sera exécutée et la fonction qui prend un nombre (n'importe quel entier) comme argument est moins spécifique que la fonction qui prend le numéro deux (et seulement deux) comme argument .

Il y a des bribes de texte répétées, comme "([x]", qui pourraient potentiellement être abstraites en tant que fonctions propres - mais I7 est tellement verbeux, définir une nouvelle fonction prend plus d'octets que cela n'en économiserait! Les seuls endroits définissant un La nouvelle fonction semble enregistrer des octets pour les caractères non ASCII, car la syntaxe pour les imprimer est encore plus verbeuse que la syntaxe pour les définitions de fonction.

Boilerplate pour exécuter ceci:

Foo is a room. When play begins: say p 7.

Remplacez 7 par un entier non négatif de votre choix.


Ravi de voir une réponse Inform!
Flounderer

3

Stax , 42 octets

ü/┐▐Φd¬•U►^τ∩█┴êZ3↔uº'µ3ó(▀◄Ü▒iÇÆ'[∞_¥▄>A√

Exécuter et déboguer

Je pense que cela ne semble pas fonctionner dans Firefox sous Windows. Mais c'est simplement parce que la police FF par défaut pour le monospace est Courier, qui ne semble pas prendre en charge ces modificateurs unicode fantaisie ou autre. Je pense.


3

C ++ (gcc) , 102 octets

#include <string>
std::string f(int n){return n?"( ͡°"+(--n>1?f(n):" ͜ʖ"+(n?f(n)+"ʖ ":" "))+"͡°)":"";}

Essayez-le en ligne!

Port sans vergogne de la solution JavaScript d'Arnauld.


1
Vous devez peut-être inclure #include <string> # 103
AZTECCO

En effet, merci de me le rappeler :)
G. Sliepen

Suggérer à la #import<map>place de#include <string>
Plafond



2

Java 7, 133 90 89 octets

String f(int n){return--n<0?"":"( ͡°"+(n>1?f(n):" ͜ʖ"+(n>0?f(n)+"ʖ ":" "))+"͡°)";}

Port de la réponse JavaScript récursive de @ Arnauld , car elle est plus courte que ma première tentative initiale en utilisant un lambda Java 8+.

Essayez-le en ligne.

Explication:

String f(int n){               // Recursive method with integer parameter & String return-type
  return--n                    //  Decrease the input by 1 first
           <0?                 //  And if the input is now -1:
              ""               //   Return an empty string
             :                 //  Else:
             "( ͡°"             //   Return the left part of Lenny's face
             +(n>1?            //   And if the modified input is larger than 1:
                   f(n)        //    Append a recursive call with this now decreased input
                  :            //   Else (the input is here either 0 or 1):
                   " ͜ʖ"        //    Append Lenny's nose
                   +(n>0?      //    And if the input is larger than 0 (thus 1):
                         f(n)  //     Append a recursive call
                         +"ʖ " //     As well as the right part of its nose
                        :      //    Else (thus 0):
                         " "   //     Append a space instead
            ))+"͡°)";}          //   And also append the right part of Lenny's 



1

Fusain , 41 octets

NθP⭆θ✂ʖ ͡°)⊗‹¹ι←⭆θ✂ʖ͜ °͡ (∧‹¹ι³

Essayez-le en ligne! Le déverbosificateur essaie de citer la deuxième chaîne pour une raison quelconque, mais cela ne semble pas être nécessaire, mais voici le version détaillée si vous le souhaitez. Explication:

Nθ

Saisissez le nombre de faces.

P⭆θ✂ʖ ͡°)⊗‹¹ι

Imprimez les côtés gauche des visages (sur notre droite comme nous les voyons). Il s'agit de la chaîneʖ ͡°) répétée jusqu'à deux fois, puis cette chaîne sans les deux premiers caractères a répété le nombre de fois restant.

←⭆θ✂ʖ͜ °͡ (∧‹¹ι³

Imprimez le côté droit des visages (sur notre gauche comme nous les voyons). Il s'agit de la chaîne (inversée) ʖ͜ °͡ (répétée jusqu'à deux fois, puis cette chaîne sans les deux premiers caractères a répété le nombre de fois restant.

Les plus observateurs d'entre vous auront remarqué que le visage du milieu a son nez généré deux fois, c'est pourquoi j'imprime de manière à ce qu'ils se chevauchent.


1

Python 3 , 80 caractères, 86 octets

x='( ͡° ͜ʖ ͡°)'
n=3-1
print(x[:4]*(n-1)+x[:7]*(n!=0)+x+x[6:]*(n!=0)+x[8:]*(n-1))

Essayez-le en ligne!

Pour mettre l'entrée, changez le 3 en n'importe quelle entrée que vous voulez, en laissant le -1 seul.

Si quelqu'un connaît une meilleure façon de faire une entrée qui réduirait le nombre de caractères, faites le moi savoir.

Rien de spécial ici, juste du tranchage de cordes et de l'abus de booléens

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.