Ẇa6ḌạÐṂ⁸Ṫ
Un lien monadique.
Essayez-le en ligne! - Presque pas de point dans ce lien (voir ci-dessous)!
Comment?
Dans le style des vrais golfeurs, cela est vraiment inefficace - il arrive à la fin des années 60 chez TIO pour le scénario de test 365 ! Localement cela se termine en 37s.
Ẇa6ḌạÐṂ⁸Ṫ - Main link: n
Ẇ - all sublists - this has an implicit make_range on it's input
- so, for example, an input of 3 yields [[1],[2],[3],[1,2],[2,3],[1,2,3]]
- the important things are: that it contains both a list of the length of the
- decimal number, and a list 1 shorter; and that it's lists only contain
- non-zero numbers and are monotonically increasing in length.
6 - literal 6
a - and (vectorises), this changes all the values to 6s
- so, the example above becomes [[6],[6],[6],[6,6],[6,6],[6,6,6]]
Ḍ - convert to decimal (vectorises) [ 6, 6,, 6, 66, 66, 666 ]
⁸ - link's right argument, n
ÐṂ - filter keep those with minimal:
ạ - absolute difference (for 366 this keeps 66 AND 666; same goes for 3666; etc.)
Ṫ - tail - get the rightmost result (for 366 keeps 666, since it's longer)
Un patch pour faire le même parcours de l' algorithme dans les années 60 limite pour 365 et 366 sur TIO est d'éviter la vectorisation implicite Ḍ
avec Ẇa6Ḍ€ạÐṂ⁸Ṫ
( essayer ), mais cela va maintenant seg-faute pour une entrée de 999 ( Triangle (999) est seulement 499,500 mais chacun est une liste d’entiers, ce qui donne un total de Tetrahedral (999) = 166 666 500 entiers, ce qui optimise la mémoire, du moins en Python).