Méduse , 12 11 9 octets
\P$'*
i
Explication
Le programme ci-dessus est équivalent au pseudocode fonctionnel suivant:
\ P $ i '*
map_prefixes(print, reshape(input(), '*'))
Le $
(refaçonner) crée une chaîne d' N
astérisques. \P
crée une fonction qui prend une liste (ou une chaîne) et transmet chacun de ses préfixes à P
(print). Par conséquent, il imprime successivement les chaînes de 1
à N
astérisques.
Martin Ender
la source
la source
([1..n]>>"*")
au lieu dereplicate n'*'
pour sauvegarder un octet. Je compte aussi que 39 octets.f 0=""
laquelle est compté comme un octet, mais affiché comme deux octets / caractères dans certains éditeurs de texte.f x=unlines[[1..n]>>"*"|n<-[1..x]]
.Pyth, 7 octets
Bloqué un octet grâce à @ETHproductions Essayez-le en ligne
en utilisant la technique de @ PIetu1998
6, octets
la source
"*"
par\*
.j*L\*S
(S
plage incluse , multipliez chacune*L
par "*"\*
,j
oin par newline) Pyth insère un Q implicite à la fin.jm*\*h
est également 6 octets.2sable ,
24 à11 octetsEssayez-le en ligne!
Et aucun signe d'astérisque! Golfé du 24 au 11 grâce à @Emigna .
Explication:
la source
õVYI
n'affecte en aucune manière votre code et peut être supprimé.1+
est le même que>
. Si vous créez l'astérisque dans la boucle, vous pouvez également le supprimerUX
. Utiliser×
au lieu de la boucle interne économise encore plus d'octets. Sans changer de méthode, vous pouvez le réduire à 11 octets ou moins.Brain-Flak 75 Octets
Comprend +3 pour
-A
Essayez-le en ligne!
Explication:
la source
Dyalog APL , 8 octets
↑
matrifier la liste composée de'*'
la chaîne "*"⍴⍨
remodelé par¨
chacun des⍳
les entiers 1 à travers l'argument.TryAPL en ligne!
la source
⌸
peut être un seul octet:(,⍕⊢)⌸⍳
7 bytes<sup>SBCS</sup>
.V , 8 octets
Essayez-le en ligne!
la source
Àé
hòlÄ
!<M-@><M-i>*h<M-r>l<M-D>x
(m signifie méta, ce qui signifie alt). Ce sont tous de bons mnémoniques pour ce que fait la commande.JavaScript (ES6), 34 octets
la source
Perl 6 , 23 octets
(Si la sortie est autorisée à être une liste de "lignes" sans nouvelles lignes
.put for
peuvent être supprimés)Explication:
(Voir la documentation
produce
si vous ne comprenez pas ce qui[\~] ...
se passe)la source
Perl 5,
2220 octetsExécutez-le avec le
-E
commutateur pour obtenirsay
.Écrit comme un programme complet, il ressemblerait à ceci:
shift
etpop
travaille implicitement sur@ARGV
(la liste des arguments) en dehors de subs..
est l' opérateur de gammesay
comprend une nouvelle lignex
est un opérateur pour répéter des chaînes et est expliqué dans perlopla source
-E
drapeau compte pour 1 octet supplémentaire.perl -E 'say"*"x$_ for 1..<>' <<< 5
-E
est gratuit (car il remplace-e
ce qui serait nécessaire de toute façon). Si vous voulez vraiment prendre le numéro à partir de la ligne de commande (pourquoi pas, même si<>
est plus court d'un octet et autorisé), vous devriez utiliserpop
au lieu deshift
(deux octets plus court)! En tout cas, bienvenue sur PPCG, heureux de vous voir jouer au golf!Perl, 19 octets
-4 octets grâce à @Ton Hospel et son remaniement de la solution!
Nécessite un drapeau gratuit
-E
(ou-M5.010
) à exécuter. Prend un nombre à partir de l'entrée:la source
eval
la même longueur que lafor
solution (utiliser à la<>
place depop
) aveceval"s//*/;say;"x<>
J,
118 octetsÉconomisé 3 octets grâce aux miles!
Voici une décomposition:
Maintenant, ce dernier se lit comme "les préfixes (
]\
) de la chaîne constituée dex
copies de'*'
". Observer:Cas de test
Solutions plus anciennes, 11 octets
C'est équivalent
1 + i.
est la gamme[1, x]
. Ensuite,'*' #~"0
appliqué à cette plage forme des copies (élément) de'*'
.Programme de bonus:
Ceci est un fork plafonné
#&'*'\
appliqué au résultat#&1
de l'entrée.#&1
donne un tableau dex
uns et des#&'*'\
formes'*'
aux préfixes de ce tableau.Cas de test
la source
n
copies de'*'
pour 8 octets en utilisant]\@#&'*'
'*'"0\@i.
Vim,
22, 18 frappesUn grand crédit à @Udioica pour avoir fourni une réponse géniale sur vim que j'ai développée. Cette réponse ne contient aucun astérisque, dans l’espoir de gagner la prime.
Explication:
La saisie est tapée avant le reste du programme. Udioica a inventé ce truc génial. Taper
<n>O <esc>
créera une pyramide d’espaces et une ligne vide, tant que vous avez:set autoindent
activé. Cette option est activée par défaut dans vim 8 et neovim, mais pas les anciennes versions de vim. Comme cela crée également une ligne supplémentaire, nous avons l'habitudeJ
de joindre cette ligne à la suivante, ce qui supprime simplement la ligne située en dessous de nous.Maintenant, à ce stade, nous devons remplacer tous ces espaces par des astérisques. Si je ne craignais pas d'utiliser des astérisques dans mon code, je sélectionnerais simplement le tout
<C-v>{
et le typer*
, ce qui remplace chaque caractère de la sélection par un astérisque. Mais je ne peux pas faire ça.Nous ouvrons donc les pages d’aide à
:h r
. La chose intéressante à propos de cela est que dans la fenêtre de vim, cette page est affichée comme:Avec le curseur sur le premier 'r'. Cependant, le fichier lui-même contient ce texte:
Assez pratique. Donc, nous passons au-dessus d'un caractère avec
l
, et tirons le texter*
avecyE
([y] à la [E] nd de ce mot).Pour fermer ce tampon, nous utilisons le raccourci pour enregistrer un fichier
ZZ
. Maintenant, nous sélectionnons visuellement nos espaces et lançons le texte tiré comme si nous l'avions dactylographié@"
. Cela fonctionne parce que "@" exécute le registre suivant sous forme de frappes vim, et "est le registre par défaut pour yanking.la source
C,
47464543 octetsPrend les entrées de la ligne de commande
Fondamentalement, si n n'est pas 0, recurse sur n-1. en haut de la récursivité, où n est 0, une nouvelle ligne est simplement imprimée, la boucle for se termine lorsque n est égal à -1 ou ~ n est égal à zéro, sinon elle affiche le code ASCII 42, qui est '*'. Essayez sur ideone
C ++ 58 octets + 19 pour inclure iostream est 77
la source
&&
:n?f(n-1):0
→n&&f(n-1)
.Rétine , 14 octets
Le nombre d'octets suppose un codage ISO 8859-1.
Essayez-le en ligne!
Explication
Transformez l'entrée
N
enN
astérisques.Remplacez chaque astérisque par tous les éléments jusqu’à et y compris cet astérisque (c’est le
$`$&
) et un saut de ligne (c’est le¶
).la source
MATL,
9 à8 octets1 octet enregistré grâce à @Luis
Essayez-le en ligne
la source
Cubix , 22 octets
Testez-le en ligne! Sort un retour à la ligne final.
Au début, je n'étais pas sûr de pouvoir placer ceci sur un cube de 2, mais à la fin, tout s'est bien passé:
J'ajouterai une explication quand j'en aurai le temps, j'espère plus tard aujourd'hui.
la source