Programmation Puzzles & Code Golf

16
Programmer mon composeur automatique

À l'époque, les composeurs automatiques de téléphone utilisaient des cartes perforées avec une colonne pour chaque chiffre du numéro à composer. Les colonnes avaient sept rangées. Les trois premières lignes représentaient les nombres (1,2,3), (4,5,6) et (7,8,9) respectivement. Les trois dernières...

16
Nombre de surjections

Tâche Étant donné 2 entiers positifs net k, où n > k, sortir le nombre de surjections d'un ensemble d' néléments distinguables à un ensemble d' kéléments distinguables. Définition Une fonction f: S → T est appelée surjection si pour chaque t∈T il y a s∈S tel que f (s) = t. Exemple Quand n=3et...

16
Réflexion de tableau de chaînes intermédiaire

Commençons par redéfinir la réflexion d'un personnage dans un tableau 2D de caractères: Étant donné un tableau carré de caractères 2D avec des lettres alphabétiques en minuscules distinctes, définissez le reflet d'une lettre dans la matrice en l'échangeant avec le caractère directement en face à...

16
Encodeur code-barres Code 39

Écrivez une fonction ou un programme qui code une chaîne dans un code- barres au format Code 39 , où chaque caractère est codé en cinq barres séparées par quatre espaces. Soit deux des barres et l'un des espaces sont larges et les autres sont étroits (codes 10 * 4), soit trois des espaces sont...

16
Attribuer des sièges d'avion

Inspiré par la leçon APL de la semaine dernière . Étant donné une carte de siège 2D majuscule et une liste de clients 1D, renvoyez la carte de siège et la liste de clients, mais modifiée comme suit (pour indiquer les sièges occupés et les clients assis): Pour chaque lettre unique dans la liste des...

16
Les 21 coiffures de l'Apocalypse

Les 21 coiffures de l'Apocalypse Étant donné une liste de nombres entre 1 et 21 (ou 0 et 20), sortez un dessin "cousu ensemble" des faces suivantes ( voir les règles pour les informations de couture ): ___ ,,, ooo === +++ ### -*~*- (o o) (o o) (o o) (o o) (o o) (o o) (o o)

16
Trouvez les motifs de Fibonacci

Vous connaissez probablement la séquence de Fibonacci où les deux premiers termes sont 0, 1(ou parfois 1, 1) et chaque terme suivant est la somme des deux précédents. Cela commence comme ceci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Parfois, la séquence contient des nombres qui ont un modèle...

16
Rotations d'arbres binaires

Les arbres de recherche binaires équilibrés sont essentiels pour garantir les recherches O (log n) (ou opérations similaires). Dans un environnement dynamique où de nombreuses clés sont insérées et / ou supprimées au hasard, les arbres peuvent dégénérer en listes liées qui sont horribles pour les...

16
Est-ce un ensemble d'exercices?

Nous savons tous que beaucoup d'exercices n'affectent que la moitié de votre corps, vous devez donc les faire deux fois, une fois de chaque côté. Ces exercices ont deux homologues, un pour le côté gauche et un pour la droite. Cependant, il n'est pas nécessaire d'exécuter les deux homologues...

16
Nombres égaux dans le sous-tableau

Étant donné un tableau de nombres avec length >=3etlength % 3 == 0 [1, 2, 3, 4, ...] Vous le diviserez en sous-tableaux de longueur 3 [[1, 2, 3], [4, 5, ...], [... Et retourner un tableau avec [0] => Le nombre de cas dans le sous-tableau où tous les nombres sont égaux [1] => Dans le cas où...

16
Générez un Portmantout!

Contexte Il y a trois ans, ce type Tom Murphy s'est mis en tête d'étendre l'idée d'un portemanteau à tous les mots dans une langue et a appelé cela un portmantout ( portmanteau plus tout [français pour tous ]). Définissant l'anglais comme une liste de 108 709 mots, il a réussi à trouver une...

16
La liste unique de codes PIN de cadenas!

introduction Dans une conversation privée, un de mes amis est apparemment récemment tombé sur un système de sécurité qui a les deux restrictions suivantes sur ses broches valides: Chaque chiffre doit être unique (c'est-à-dire que "1" ne peut apparaître qu'une seule fois) L'ordre des chiffres n'a...

16
Zigzaguez cette chaîne en réduisant les doublons

Étant donné une chaîne, votre tâche consiste à la réduire en une structure de type zigzag comme décrit ci-dessous. Pliage en zigzag Nous prendrons la chaîne "Mississippi"comme exemple: Tout d'abord, affichez le préfixe le plus long composé uniquement de caractères uniques: Mis Lorsque vous...

16
Manger du poisson, de plus en plus grand

Vous êtes un poisson dans un étang qui doit survivre en mangeant d'autres poissons. Vous ne pouvez manger que des poissons de la même taille ou plus petits que vous. Vous devez créer un programme qui prend un banc de poissons comme entrée triée. À partir de cela, vous devez déterminer le nombre de...

16
Motif alterné

Dans une question de stackoverflow maintenant supprimée, quelqu'un a publié ce qui suit: Écrivez un programme ou une fonction pour imprimer des motifs alternatifs dans *et #sur la base d'un entier donné n. Quelques exemples: Entrée: n=1 Sortie: * n=5 Sortie d' entrée : *#### ###** ***## ###** *####...

16
Q u i n e R e l a y!

Quine Relay! Un quine relais d'ordre est une série de programmes P 1 … P n dans des langages distincts tels que chaque programme P i sort P i + 1 et P n sort P 1 .nnnP1… PnP1…PnP_1\dots P_nPjePjeP_iPi + 1Pje+1P_{i+1}PnPnP_nP1P1P_1 Par exemple, un relais à 2 quines peut être vu ici: Rubis → Perl 6:...