Aufgabe
Schreiben Sie ein Programm, das (als Eingabe) eine positive Ganzzahl annimmt. Es wird dann von 0
abwärts gezählt, wobei jede Ganzzahl an a angehängt wird, String
und nur dann fortgesetzt, wenn die Länge von String
kleiner als der Wert der Eingabe ist.
Eine serialisierte Ganzzahl ist definiert als die vollständig gebildete Ganzzahl mit dem Maximalwert, der zu gehört String
. Bei "vollständig gebildet" sollte die Ganzzahl keine fehlenden Ziffern haben (was auftreten würde, wenn die Längenbeschränkung von String
erfüllt wird).
Die Ausgabe des Programms sollte die serialisierte Ganzzahl für die jeweilige positive Eingabe sein.
Regeln
- Es ist Codegolf, also gewinnt die kürzeste Antwort (in Bytes)!
- Der Eingang ist immer positiv.
- Die Ausgabe muss eine Ganzzahl zur Basis 10 (dezimal) sein.
- Das Programm muss 0-indiziert sein.
Beispiel Eingabe | Ausgabe
5 | 4 (0 1 2 3 4 - Length of 5)
11 | 9 (0 1 2 3 4 5 6 7 8 9 1 - Length of 11)
12 | 10 (0 1 2 3 4 5 6 7 8 9 10 - Length of 12)
1024 | 377 (0 1 2 3 4 5 6 7 8 ... - Length of 1024)
Anmerkungen)
- Wenn Sie Fragen haben (oder weitere Beispiele von mir erhalten möchten), kommentieren Sie bitte!
- Inspiration: /programming/45034478/how-do-i-calculate-the-maximum-serialized-integers-in-1024-length-limit
11
N-1
Ziffern der Champernowne-Konstante mit0
vorangestelltem?Antworten:
JavaScript (ES6),
4037 BytesBearbeiten: 3 Bytes mit Hilfe von @Arnauld gespeichert.
quelle
05AB1E ,
107 BytesIdee, Präfixe aus Jonathans Gelee-Antwort zu verwenden
Probieren Sie es online!
Erläuterung
quelle
Python 2 , 55 Bytes
Rekursiver Lambda-Port aus der Antwort von @ officialaimm .
Probieren Sie es online!
quelle
Japt , 13 Bytes
Online testen!
Erläuterung
quelle
PHP , 56 Bytes
Probieren Sie es online!
quelle
Haskell ,
555350 BytesProbieren Sie es online!
Verwendung ist
(1024#"") 0
quelle
Python 2 ,
60 5958 BytesProbieren Sie es online!
quelle
Jelly ,
11 109 BytesEine monadische Verknüpfung, die eine positive Ganzzahl und eine nicht negative Ganzzahl zurückgibt.
Probieren Sie es online!
Wie?
Bearbeitung...
quelle
Pyth,
87 BytesProbieren Sie es online aus. Testsuite.
quelle
< num seq
war auch sehr hilfreich.Perl 6 , 36 Bytes
Probieren Sie es online!
0 ...^ {...}
ist die Folge von Zahlen von null bis eins weniger als die Zahl, für die der Codeblock in geschweiften Klammern true zurückgibt. (...
Ohne das Caret würde die erste Zahl zurückgegeben, für die der Block true zurückgab.)[~] 0 .. $^a
ist die Verkettung von Zahlen von0
bis zur aktuellen Nummer$^a
(der Parameter zum Codeblock)..comb
ist eine Liste aller Zeichen (Ziffern) in der verketteten Zeichenfolge. Als Zahl interpretiert, wird die Länge der Zeichenfolge ermittelt..chars
wäre natürlicher hier zu verwenden, da es direkt auf die Länge der Zeichenfolge ausgewertet wird, aber der Name ist ein Zeichen länger.$_
ist das Argument für die Funktion der obersten Ebene.[*-1]
Wählt das letzte Element der generierten Liste aus.quelle
QBIC , 34 Bytes
Erläuterung
quelle
Python 2 , 44 Bytes
Probieren Sie es online!
quelle
J, 26 Bytes
quelle
R , 43 Bytes
Probieren Sie es online!
quelle
WendyScript , 42 Bytes
Probieren Sie es online!
Ungolfed:
quelle
PHP, 41 Bytes
Probieren Sie es online aus .
quelle
Java 8, 64 Bytes
Oder kleine Alternativen mit gleicher Byteanzahl:
Erläuterung:
Probieren Sie es hier aus.
quelle
Ruby , 39 Bytes
Probieren Sie es online!
quelle
Ruby, 44 Bytes
Inspiriert von Kevin Cruijssens JAVA-Antwort. -4 Bytes dank G B.
quelle
Perl 5 , 31 + 1 (
-p
) = 32 BytesProbieren Sie es online!
quelle