Votre tâche consiste à générer le nième terme de la séquence RATS, où n est l'entrée. La séquence RATS est également connue sous le nom de séquence Ajouter puis trier inversée. Cette séquence peut également être trouvée ici: http://oeis.org/A004000 .
cas de test:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Par exemple, la sortie pour 5 est 77 car 16 + 61 = 77. Après cela, le 77 est trié.
La soumission la plus courte gagne. C'est mon premier défi donc j'espère que ce n'est pas un doublon ou quelque chose.
code-golf
sequence
arithmetic
justaprogrammer
la source
la source
Réponses:
MATL , 11
12octetsL'entrée est une chaîne (avec des guillemets simples) représentant un entier en unaire . La saisie de chaîne est autorisée par le défi et unaire est un format valide .
Essayez-le en ligne!
Explication
la source
05AB1E , 6 octets
Code:
Explication:
Cela fonctionne également avec un programme de 0 octet .
la source
05AB1E
en éliminant d'abord le zéro de tête, puis en omettant le1
, as1E==E
. Ensuite, vous obtenez juste5ABE
, -2 octets.CJam, 15 octets
Testez-le ici.
Explication
la source
Pyth,
171312 octetsEssayez-le sur l'interprète en ligne .
la source
Python 2, 72
Fonction récursive, utilise le raccourci Python 2 pour
__repr__
, qui se brisera une fois que la fonction atteindra de très grandes valeurs (unL
sera ajouté à la chaîne du numéro), je ne suis pas certain de la spécification s'il y a un endroit où nous pouvons nous arrêter , mais s'il ne change pas enstr()
ajoute seulement 6 octets, mais il devient alors légèrement plus court pour sortir sous forme de chaîne, à 75 octets:1 octet économisé grâce à trichoplax sur cette version
la source
or
le deuxième bloc de code?JavaScript ES6, 70 octets
1 octet enregistré grâce à @ user81655
soupir JavaScript est vraiment verbeux. Une grande partie (> 50%) du code est juste cas pour chaîne + fonction de tableau + jointure + transtypage en int. J'ai essayé de réduire, d'évaluer et toutes sortes de choses, mais cela semble être le plus court.
Essayez-le en ligne (tous les navigateurs fonctionnent)
la source
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
si retour de chaîne autoriséBrachylog , 19 octets
Explication
la source
Haskell, 67 octets
Exemple d'utilisation:
(g"1"!!) 7
->"668"
.C'est une implémentation directe de la définition: en commençant par
"1"
, ajoutez à plusieurs reprises le résultat inverse-ajoutez-trier de l'élément actuel. La fonction principale(g"1"!!)
sélectionne lei
e élément.la source
Julia, 77 octets
Il s'agit d'une fonction lambda qui accepte un entier et renvoie un entier. Pour l'appeler, affectez-le à une variable.
Non golfé:
la source
Gelée,
1312 octetsJe suis sûr que cela peut probablement être joué au golf, car c'est ma première réponse en Jelly / dans une langue tacite.
EDIT: enregistré 1 octet, grâce à Dennis
la source
Java 1,8, 251 octets
Étendu
la source
interface
R au lieu declass
R qui est plus court de 4 octets?Sérieusement, 17 octets
Essayez-le en ligne!
Explication:
la source
Lua,
179156octetsJe ne vois pas comment je pourrais jouer au golf plus, mais je suis sûr qu'il y a un moyen.Grâce à @LeakyNun, j'ai pris le temps de revenir sur ce sujet et de le jouer correctement, je pourrais peut-être encore gagner quelques octets en utilisant une autre approche.Non golfé et explications
la source
a=a<1 and 1or
par exemple).Brachylog 2, 11 octets, défi de postdates de langue
Essayez-le en ligne!
Explication
Je ne suis pas tout à fait clair sur ce que cela fait avec zéro chiffre, mais la question n'indique aucun traitement particulier, et ils n'apparaissent probablement pas dans la séquence de toute façon.
la source
ES6, 79 octets
82 octets sans
eval
:Toutes ces conversions sont douloureuses.
@ edc65 J'ai en fait économisé 4 octets en passant de
map
àreduce
cette époque ... sans aucun doute, vous me prouverez encore une fois.la source
for
est plus court:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, même après avoir corrigé les erreurs de syntaxe.Python 2, 91 octets
Saisie en entier, le résultat est imprimé à l'écran.
Cela pourrait être beaucoup plus court avec de la magie de récursivité, je suppose, mais je ne peux pas encore m'en occuper. J'aurai un nouveau look plus tard et j'espère améliorer celui-ci.
la source
Python 2, 83 octets
la source
Perl 6 , 40 octets
(Si vous voulez qu'il retourne un Int, mettez un
+
droit avant[~]
)Usage:
la source
Mathematica 10.3,
6661 octetsAssez facile.
la source
PHP, 102 octets
Version en ligne
PHP, 95 octets
n <= 39
la source
Java ,
171167163160 160 octetsEssayez-le en ligne!
Pas l'entrée la plus longue! \ o /
la source
Python 2 , 70 octets
Essayez-le en ligne!
la source
Axiome, 146 octets
test et résultats [séquence RATS]
la source
Tcl , 91 octets
Essayez-le en ligne!
la source