introduction
À titre d'exemple, prenons le nombre 7
. Nous dupliquons ensuite cela et plaçons 7 espaces entre les deux. Nous obtenons ceci:
7_______7
Après cela, nous allons diminuer le nombre, jusqu'à ce qu'il n'y ait plus d'espace. Nous obtenons ce qui suit pour le numéro 7:
7_______7
6543210
Ensuite, nous fusionnons simplement les deux, donc:
7_______7
6543210 becomes
765432107
Ce sera une sortie pour N = 7 .
Ça a l'air facile, non? Prenons maintenant N = 12 . Nous insérons à nouveau 12 espaces entre les deux nombres, ce qui nous donne:
12____________12
Ensuite, nous commençons le décrément:
12____________12
111098765432
Et cela nous donne enfin:
1211109876543212
Comme vous pouvez le voir, la partie descendante se termine à 2, pas à 0 .
Tâche
Étant donné un entier supérieur à 1 , sortez la séquence décroissante comme indiqué ci-dessus.
Cas de test
Input Output
2 2102
3 32103
4 432104
5 5432105
6 65432106
7 765432107
8 8765432108
9 98765432109
10 10987654321010
11 111098765432111
12 1211109876543212
13 13121110987654313
14 141312111098765414
15 1514131211109876515
20 201918171615141312111020
99 9998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150499
100 1009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150100
C'est du code-golf , donc la soumission avec le moins d'octets gagne!
Réponses:
CJam,
1110 octetsEssayez-le en ligne.Suppose qu'il y a une nouvelle ligne de fin dans l'entrée. (Merci à @ jimmy23013 d'avoir enregistré un octet.)
Explication
À la fin de chaque ligne se trouve à quoi ressemble la pile à ce point (en utilisant
4
comme exemple).la source
Julia, 30 octets
Il s'agit d'une fonction anonyme qui accepte un entier et renvoie une chaîne. Pour l'appeler, affectez-le à une variable.
Nous construisons et joignons la séquence décroissante de n -1 à 0, et prenons les n premiers caractères de la chaîne résultante. Nous ajoutons et ajoutons ceci avec l'entrée sous forme de chaîne.
Vérifiez tous les cas de test en ligne
la source
Haskell, 44 octets
Exemple d'utilisation:
f 14
->"141312111098765414"
.la source
JavaScript (ES6),
5552 octetsEdit: enregistré 3 octets grâce à @WashingtonGuedes.
la source
.keys()
..keys()
c'est comme.reduce
. Le bon outil pour le travail, mais vous trouvez toujours quelque chose qui peut faire mieux dans ce cas particulierPython 2,
82725853 octetsEssayez-le ici!
Merci à @Alex de m'avoir appris cela
repr(x)
= cela m'a fait`x`
économiser un tas d'octets!la source
Pyth, 11 octets
Deux versions alternatives, qui sont toutes également de 11 octets ( soupir ):
Essayez-le ici.
la source
Japt, 13 octets
Testez-le en ligne!
Comment ça fonctionne
la source
Gelée, 10 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Rétine , 98
110Réponse la plus longue à ce jour: - /
Essayez-le en ligne.
la source
Vitsy, 35 octets
Étant donné que Vitsy ne sait pas comment créer des chaînes à partir de nombres, j'ai implémenté la recherche de la longueur du nombre en décimales dans la deuxième ligne.
Explication:
Essayez-le en ligne!
Mode détaillé pour lols:
la source
L
, corrigeant cela maintenant (ne mettra pas à jour la question cependant).public static void
méthodes. Le principal termine le programme lorsqu'il est terminé. Quant à la façon dont cela se fait, les instructions sont contenues dans un typeArrayList<ArrayList<String[]>>
, où chaque ligne est unString[]
. Chaque méthode est divisée à la nouvelle ligne par la façon dont le fichier est chargé, ce qui entraîne la séparation de la méthode principale de toutes les autres méthodes.String
s sont des instructions,String[]
s sont des méthodes (la première est la méthode principale) etArrayList<String[]>
s sont des classes (la première est la classe principale), n'est-ce pas?Pure Bash, 49
Ou:
Bash + coreutils, 48
la source
12
, puis les 12 premiers caractères de11..0
(ou111098765432
), et enfin12
Rétine, 63 octets
Il y a encore pas mal de place pour le golf ...
Essayez-le en ligne!
la source
$0
in$0$*
optionnelle également, lorsque le jeton précédent est un littéral qui n'est pas un nombre (comme les vôtresy
) ... en voyant cela, je pourrais en fait l'implémenter.MATL , 15 octets
EDIT (20 mai 2016) Le code dans le lien utilise à la
Xz
place deXv
, en raison de récents changements dans la langue.Essayez-le en ligne!
la source
Java, 93 octets
la source
Rubis, 41 octets
la source
Voie lactée 1.6.5 ,
2725 octetsExplication
Usage
la source
I'::%{K£BCH=}<OHG<+<;+!
dans un fichier encodé UTF-8, mais cela ne fonctionne pas.Perl 6 , 31 octets
Usage:
la source
Perl, 43 + 2 = 45 octets
Je suis content de ne pas avoir utilisé
reverse
et nisubstr
:Nécessite les
-pl
drapeaux.Comment ça fonctionne:
la source
C,
130125 octetsVersion non golfée (avec explication):
Le cast implicite du double à l'int
h=floor(...)
permis l'utilisation de#define p(x)
économiser 5 octets.Test sur ideone.
la source
R, 67 octets (comme fonction)
R, 63 octets (entrée de STDIN)
la source
Brainfuck, 265 octets
Cela ne fonctionnera qu'avec des nombres <10
Essayez la version golfée ici :
Non golfé. Essayez-le ici :
la source
,>>++++++[<++++++++>-]<[-<->]<
Cela peut soustraire 48 avec une longueur de code plus courte