Avec une chaîne en entrée, génère un nombre de caractères d'espacement (0x0A et 0x20) égal à la longueur de la chaîne.
Par exemple, étant donné la chaîne dont Hello, World!
votre code aurait besoin pour générer exactement 13 caractères d'espacement et rien d'autre. Ceux-ci peuvent être n'importe quelle combinaison d'espaces et de nouvelles lignes.
Votre code ne doit pas générer de saut de ligne supplémentaire ni d'espaces.
Cas de test:
Input -> Amount of whitespace to output
"Hello, World!" -> 13
"Hi" -> 2
" Don't
Forget about
Existing
Whitespace! " -> 45
"" -> 0
" " -> 13
"
" -> 1
Notation:
C'est du code-golf, si peu d'octets gagnent!
0x0A
et0x20
sont les valeurs hexadécimales des caractères Newline et Space respectivementThese can be any mix of spaces and newlines
Votre sortie peut correspondre à n’importe quel mélange d’espaces et de nouvelles lignes. Vous pouvez simplement créer des espaces si vous le souhaitez, comme tout le monde, ou simplement produire des nouvelles lignes. À vous deRéponses:
Whitespace ,
311150776865464138 octets-3 octets grâce à Kevin Cruijssen
-27 octets grâce à Ephphatha
Essayez-le en ligne!
Un format visible
Explication (s = espace, t = tabulation, n = nouvelle ligne)
la source
Japt , 1 octet
Essayez-le en ligne!
la source
-Q
drapeau dans l'entrée pour mettre des guillemets autour de la sortie. TIOHaskell , 7 octets
Essayez-le en ligne! Utilisation:
(>>" ") "Hello, world!"
.Étant donné deux listes (et les chaînes sont des listes de caractères dans Haskell), l'
>>
opérateur répète la deuxième liste autant de fois que la première liste contient des éléments. Définir" "
comme deuxième argument signifie que nous concaténons autant d'espaces que la chaîne d'entrée est longue.Alternative (même nombre d'octets):
Essayez-le en ligne! Utilisation:
(' '<$) "Hello, world!"
.À partir d’une valeur et d’une liste, l’
<$
opérateur remplace chaque valeur de la liste par la valeur donnée. Il en5 <$ "abc"
résulte[5,5,5]
, et' ' <$ "abc"
dans" "
.La fonction peut être écrite de la même manière
(<$)' '
, au cas où vous voudriez trouver plus de créatures marines dans mon code.la source
brainfuck , 18 octets
Essayez-le en ligne!
Imprime une nouvelle ligne pour chaque octet d'entrée. L'impression d'espaces à la place ajouterait 4 octets.
la source
,[>++++++++++.,]
Python, 19 octets
la source
Retina,
34 octetsAncienne version, ne fonctionne pas car Retina imprime un saut de ligne final.
(La deuxième ligne contient un espace).
la source
\`
pour éviter cela. Ensuite, son utilisation est plus courteS\`.
, car chaque caractère est remplacé par un saut de ligne (car il divise l’entrée autour de chaque caractère).sed , 7 octets
Essayez-le en ligne!
la source
Brainfuck, 16 octets
Imprime les nouvelles lignes.
la source
C #,
2824 octetsAncienne version utilisant le
string
constructeur pour 28 octets:la source
Rétine , 5 octets
Essayez-le en ligne! Change tout en nouvelles lignes. Le
\`
supprime la nouvelle ligne supplémentaire que Retina devrait normalement afficher.la source
Mathematica, 21 octets
la source
#/._->" "&
. Malheureusement, l'entrée est une chaîne et Characters [] le rend un octet plus long que votre solution :(#
et d'un&
? Par exempleStringReplace[#,_->" "]&
JavaScript ES6, 22 octets
la source
s=>s.replace(/[^]/g," ")
un octet plus long que l'autre solution". Il ne m'est pasC, 31 octets
la source
i++, j++
une boucle for) et renvoie celle qui se trouve le plus à droite. Un détail important est que la récursivité doit s'arrêter d'une manière ou d'une autre.&&
n'évalue pas si c'est faux si c'est faux.*c++
évalue false lorsqu'il pointe vers la terminaison NULL de la chaîne.PHP, 28 octets
Essayez-le en ligne!
PHP, 29 octets
Essayez-le en ligne!
la source
Excel VBA,
1715 octetsFonction de fenêtre immédiate VBE anonyme qui prend en entrée la cellule
[A1]
et en sortie des espaces de longueur de l'entrée dans la fenêtre immédiate VBEla source
05AB1E , 3 octets
Essayez-le en ligne!
Autres solutions sur 3 octets (Merci à Magic Octopus Urn et à Kevin Cruijssen pour la plupart)
la source
gð×
le reste que j'ai trouvé était au-dessus de 3 comme:õ‚.B¤
Sð:
ðs∍
võJ
/v¶J
;€ðJ
/ۦJ
. Et comme une séquence de caractères en tant qu'E / S est autorisée par défaut lorsque des chaînes d'E / S sont demandées, certaines versions à 2 octets sont possibles:€ð
/ۦ
/εð
/ε¶
etð:
/¶:
. Bien qu’il s’agisse d’un défi assez ancien et que toutes les autres réponses utilisent des chaînes réelles, je pourrais comprendre si vous le conserviez en tant que chaîne d’entrée / sortie.Octave, 14 octets
la source
CJam , 4 octets
Essayez-le en ligne!
Explication
la source
C, 45 octets
Utilisation de main. Compilez avec gcc, ignorez les avertissements.
Usage:
la source
char**v
enmain(c,v)
?gcc main.c
ne semble pas permettre de mélanger la définition de fonction ANSI avec la définition de fonction K & R,main(c,char**v)
elle ne compilera donc pas. Je dois fairemain(int c,char**v)
oumain(c,v)char**v;
dont le dernier est plus court de 3 octets. Par hasard, vous ne connaissez aucun drapeau ou quelque chose qui permette de mélanger ces styles?char**v
entièrement ne compile pas non plus.char**
complètement, le compilateur l'interprétera commeint
. Si je ne me trompe pas, vous obtenez une erreur en essayant de déréférencer un lienint
et même si vous ne le faites pas, le programme ne ferait pas ce que vous espériez, étant donné qu’il enint
consomme plusieurschar
et donc vous n’obtenez jamais deNULL
valeur.JavaScript (ES6), 23 octets
la source
Excel, 18 octets
Assez ennuyeux et un octet plus long que la réponse VBA .
la source
> <> , 7 octets
Le programme est une boucle
la source
V , 2 octets
Essayez-le en ligne!
Notez l'espace de fuite!
la source
Hexagone ,
1211 octets-1 octet grâce à Martin Ender
Essayez-le en ligne!
Voici l'hexagone élargi:
Tant qu'il y a entrée, ce code s'exécute:
Lorsque EOF est atteint:
la source
M8;
(ce qui donne 778 = 10 (mod 256)). Cela devrait vous permettre de déplacer le~
où le;
est maintenant, en sauvegardant un octet.Perl 5 , 7 octets
-1 octet grâce à @Xcali
6 octets de code +
-p
drapeau.Essayez-le en ligne!
Assez simple: remplace chaque caractère par un espace.
la source
y// /c
est un octet plus court.Python 2, 25 octets
-2 octets grâce à Loovjo
-2 octets dans le code invalide grâce à totalementhuman: p
-3 octets
la source
exec
car c'est un mot clé dans Python 2exec'print;'*len(input())
marche.PHP, 36 octets
Essayez-le en ligne!
Sortie de nouvelles lignes car les espaces sont trop courants
la source
$argn
au lieu de$argv[1]
sauvegarder 4 octets. Courir avec l'-F
optionCubix , 6 octets
Wahoo un 6 octets!
Cubifié
i
obtient l'entrée?
test de la pilew
changement de voie qui va jusqu'à l'@
arrêtSow
espace sur la pile est positif , afficher la sortie et changer de voie suri
Essayez-le en ligne!
la source
C, 32 octets
Essayez en ligne modifiant des caractères dans des espaces
C, 37 octets
Essayez en ligne Rembourrant la fin de chaîne avec sa longueur
la source
APL (Dyalog) 13.2, 1 octet
N'imprime que des espaces.
∊
prototype (les nombres deviennent des zéros, les caractères deviennent des espaces)Essayez-le en ligne!
la source