Bei einer Zahl> 0 wird die Summe mit allen Ziffern (1 .. n) verkettet und umgekehrt ausgegeben und addiert. Zum Beispiel mit n = 6:
Die Zahlen 1 bis 6 verkettet:
123456
Rückgängig gemacht:
654321
Wenn Sie diese addieren, erhalten Sie: 777777. Ein weiteres Beispiel ist n = 11:
1 2 3 4 5 6 7 8 9 10 11 > 1234567891011
und
11 10 9 8 7 6 5 4 3 2 1 > 1110987654321
Addieren Sie diese Werte, erhalten Sie 2345555545332
. Dies ist auch als A078262 bekannt .
Kürzester Code gewinnt!
n
oder müssen wir beliebig große ganze Zahlen unterstützen?max(256,yourlanguagesdefaultintegertypelimit)
". Aber es sollte angegeben werden.10
der geben sollte23333333231
.Antworten:
05AB1E, 7 Bytes
Probieren Sie es online aus.
Erläuterung
quelle
+
führt, dass Listen eine verschachtelte Addition ausführen, während Zeichenfolgen in Ints konvertiert und dann hinzugefügt werden. Aber hier hat es wohl geklappt! : PGelee, 9 Bytes
quelle
CJam,
15 bis14 BytesVielen Dank an Martin für das Rasieren eines Bytes!
Probieren Sie es online!
quelle
ri,:)s_W%i\i+
10
:)
Pyth,
1210 BytesDanke an @FryAmTheEggman für 2 Bytes!
Q
ist der Eingang,S
macht es zu[1, 2, ..., input()]
,_B
es gabelt über_
(Rückwärts) zu erstellen[rng, rev(rng)]
,jLk
es bildet überjoin
durchk
(die die „leere Zeichenfolge“ Variable ist),sM
ordnetint
über diese resultierende Array, unds
berechnet schließlich die Summe.quelle
JavaScript (ES6),
706764 ByteKorrigiert, um die Anforderungen zu erfüllen, da alter Code unter Missverständnissen der Eingabe erstellt wurde.
quelle
Python 3, 74
6 Bytes gespart dank DSM.
Nichts zu aufregendes, schließen Sie sich den Bereichen an, konvertieren Sie sie in Ints und fügen Sie sie hinzu.
quelle
Retina , 71
Weil es offensichtlich das falsche Werkzeug für den Job ist.
Probieren Sie es online aus.
Funktioniert für Eingaben bis 6, aber der Online-Interpreter läuft danach ab.
quelle
(c)+
zuc
.$&$*c
->$*c
und\d+:?
->\d+
und es ist 70. Und aus irgendeinem Grund funktioniert es weiter ...Jolf, 9 Bytes
Probieren Sie es hier aus! Ersetzen
►
durch\x10
.Möglicherweise kann ich Golf spielen, indem ich mich im Typ Casting bewege.
quelle
JavaScript (ES6),
6766 BytesJa, das ist ein Leerzeichen. Pfui. Zumindest @Downgoat hat mir geholfen, ein Byte zu speichern.
quelle
+
und das+ +
-> machen- -
, um ein Byte zu speichern- -a.reverse().join
Im Ernst, 12 Bytes
Probieren Sie es online!
Erläuterung:
quelle
PowerShell, 35 Byte
Konvertiert die Eingabe mit
..
, dann in Bereiche-join
fügt sie dann zusammen und addiert sie auf.Funktioniert für Eingaben von bis zu
138
, während139
gibtInfinity
,140
und darüber wird ein äußerst ausführlicher Casting-Fehler angezeigt:quelle
Pyth - 8 Bytes
Probieren Sie es hier online aus .
quelle
10
oder11
JavaScript (ES6), 99
Dies fügt Ziffer für Ziffer hinzu, sodass Zahlen verarbeitet werden können, die deutlich über der 53-Bit-Genauigkeit von Javascript liegen
Prüfung
quelle
c
mit den anderen Variablen initialisieren ?Brachylog , 24 Bytes
quelle
MATL , 13 Bytes
EDIT (20. MAI 2016) Der Code in den Link verwendet
Xz
stattXv
, in der Sprache , auf die jüngsten Veränderungen zurückzuführen ist .Probieren Sie es online!
quelle
05AB1E , 5 Bytes
Erläuterung:
Probieren Sie es online!
quelle
Bash + Coreutils, 39
Oder:
Ideone.
quelle
Perl 6 , 25 Bytes
Verwendung:
quelle
$n
anstelle von$^n
-> $n {
ist ein anderes zu$^n
.R
346064 BytesAngenommen, das
pryr
Paket ist installiert. Dies istf
eine Abkürzung zum Erstellen von Funktionen.Edit fügte 26 Bytes hinzu, gab aber eine Funktion zurück, die funktioniert und nicht völlig falsch ist.
Edit fügte weitere 4 Bytes hinzu, um Fälle über n = 10 zu behandeln, in denen strtoi (zuvor verwendet) zurückgegeben wurde
NA
quelle
Lua, 57
quelle
Lua, 53 Bytes
Dieses Programm verwendet
n
ein Befehlszeilenargument.Ich habe angenommen, dass die Ausgabe einer Zahl mit einem Dezimalteil von 0 in Ordnung ist (in der Form,
777777.0
weil dies die Standardmethode für die Ausgabe einer Zahl in Lua ist (es gibt keinen Unterschied zwischen Integer und Float).quelle
...
! Ich werde es für den Moment so belassen, weil ich nichts anderes als den Online - Compiler verwenden kann und er damit nicht umgehen kann (ich möchte es testen und ein wenig damit spielen, bevor ich es in a stecke Antwort :))Perl 5, 37 Bytes
25 Bytes plus 1 für
-p
und 11 für-MList::Gen
Vorherige Lösung, 40 Bytes: 39 plus eine für
-p
quelle
Perl, 36 Bytes
Beinhaltet +1 für
-p
Führen Sie mit auf STDIN
reverse.pl
quelle
Dyalog APL , 17 Bytes
⎕
Eingabeaufforderung⍳
'Aufzählen bis Eingabex←
Speicherliste in x⌽
umkehren xx(
…)
Umgekehrte Liste mit Originalliste voranstellen⍕¨¨
Jede Nummer jeder Liste in∊¨
Zeichenkette⍎¨
umwandeln Jede Liste von Zeichenketten in einzelne Zeichenketten umwandeln Jede Zeichenkette in eine+/
Zahlensumme aus den beiden Zahlen .quelle
Mathematica, 64 Bytes
quelle
Netzhaut, 80 Byte (ISO 8859-1-Codierung)
IO ist unär mit
'
als Zählzeichen. Theoretisch unterstützt jeder Integer, den Sie darauf werfen, in der Praxis ... Online-Interpreter lehnt es ab, alles zu verarbeiten, was größer als 6 ist (unär''''''
).Probieren Sie es online!
Probieren Sie es online! (dezimales E / A - 91 Byte)
quelle
𝔼𝕊𝕄𝕚𝕟 12 Zeichen / 15 Byte
Try it here (Firefox only).
Meh.
Erläuterung
Nimmt eine Strecke
[1,input]
, schließt sich ihr an; Nimmt denselben Bereich, kehrt ihn um und schließt sich ihm an. Die Summe beider Bereiche ist das Ergebnis.quelle
Ruby, 40 Zeichen
Probelauf:
quelle
126 Bytes
Könnte möglicherweise weiter golfen werden. Nicht wirklich sicher.
quelle
Groovy,
4239 ZeichenProbelauf:
quelle