Biorąc pod uwagę liczbę> 0, wypisz sumę ze wszystkimi cyframi (1 .. n) połączonymi i odwróconymi i dodaj je. Na przykład n = 6:
Łączone liczby od 1 do 6:
123456
Wywrócony:
654321
Zsumowanie ich spowoduje: 777777. Innym przykładem jest n = 11:
1 2 3 4 5 6 7 8 9 10 11 > 1234567891011
i
11 10 9 8 7 6 5 4 3 2 1 > 1110987654321
Dodanie ich razem spowoduje 2345555545332
. Jest to również znane jako A078262 .
Najkrótszy kod wygrywa!
n
, czy też musimy wspierać dowolnie duże liczby całkowite?max(256,yourlanguagesdefaultintegertypelimit)
”. Ale należy to określić.10
który powinien dać23333333231
.Odpowiedzi:
05AB1E, 7 bajtów
Wypróbuj online.
Wyjaśnienie
źródło
+
zagnieżdżania na listach, podczas gdy dla ciągów konwertuje na ints, a następnie dodaje. Ale chyba się tu udało! : PGalaretka, 9 bajtów
źródło
CJam,
1514 bajtówDzięki Martinowi za golenie bajtu!
Wypróbuj online!
źródło
ri,:)s_W%i\i+
10
:)
Pyth,
1210 bajtówDzięki @FryAmTheEggman za 2 bajty!
Q
jest wprowadzane,S
zamienia go[1, 2, ..., input()]
,_B
rozwidla ona ponad_
(odwróconej), aby utworzyć[rng, rev(rng)]
,jLk
mapuje sięjoin
przezk
(jest to zmienna „pusta”),sM
odwzorowujeint
się ten wynikający tablicy is
ostatecznie oblicza się sumę.źródło
JavaScript (ES6),
706764 bajtówNaprawiono, aby spełnić wymagania, ponieważ stary kod powstał w wyniku niezrozumienia danych wejściowych.
źródło
Python 3, 74
Zaoszczędź 6 bajtów dzięki DSM.
Nic ekscytującego, dołącz do zakresów, a następnie przekonwertuj na ints i dodaj je.
źródło
Retina , 71
Ponieważ jest to ewidentnie złe narzędzie do pracy.
Wypróbuj online.
Działa dla danych wejściowych do 6, ale potem upłynie limit czasu dla tłumacza online.
źródło
(c)+
nac
.$&$*c
->$*c
i\d+:?
->\d+
i jest 70. I z jakiegoś powodu nadal działa ...Jolf, 9 bajtów
Wypróbuj tutaj! Wymień
►
się\x10
.I może być w stanie golfa go poruszając się casting typu.
źródło
JavaScript (ES6),
6766 bajtówTak, to przestrzeń. Ugh. Przynajmniej @Downgoat pomógł mi uratować bajt.
źródło
+
i zrobić+ +
->- -
aby zapisać bajt- -a.reverse().join
Poważnie, 12 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
PowerShell, 35 bajtów
Konwertuje dane wejściowe na zakresy
..
, następnie-join
łączy je razem i dodaje je.Będzie działał dla liczb wejściowych do
138
, dopóki139
daInfinity
,140
a powyżej wyeliminuje niesamowicie pełny błąd rzutowania:źródło
Pyth - 8 bajtów
Wypróbuj online tutaj .
źródło
10
lub11
JavaScript (ES6), 99
Dodaje cyfrę po cyfrze, dzięki czemu może obsługiwać liczby znacznie powyżej 53 bitów precyzji javascript
Test
źródło
c
z innymi zmiennymi?Brachylog , 24 bajty
źródło
MATL , 13 bajtów
EDYCJA (20 maja 2016 r.) Kod w linku używa
Xz
zamiast zXv
powodu ostatnich zmian w języku.Wypróbuj online!
źródło
05AB1E , 5 bajtów
Wyjaśnienie:
Wypróbuj online!
źródło
Bash + coreutils, 39
Lub:
Ideone.
źródło
Perl 6 , 25 bajtów
Stosowanie:
źródło
$n
zamiast$^n
-> $n {
jest inny jeden do$^n
.R,
346064 bajtówZakłada, że
pryr
pakiet jest zainstalowany. dajef
to skrót do tworzenia funkcji.Edytuj dodane 26 bajtów, ale zwraca funkcję, która działa, a nie coś zupełnie nie tak.
Edycja dodała kolejne 4 bajty do obsługi przypadków powyżej n = 10, do których zwracał się strtoi (poprzednio używany)
NA
źródło
Lua, 57 lat
źródło
Lua, 53 bajtów
Ten program przyjmuje
n
jako argument wiersza polecenia.Założyłem, że wypisywanie liczby z dziesiętną częścią 0 było w porządku (w postaci,
777777.0
ponieważ jest to domyślny sposób wypisywania liczby w lua (nie ma różnicy między liczbą całkowitą a liczbą zmiennoprzecinkową)źródło
...
! Na razie zachowam to w ten sposób, ponieważ nie mogę używać niczego innego niż kompilator online i nie mogę sobie z tym poradzić (chciałbym to przetestować i zagrać trochę przed włożeniem odpowiedź :))Perl 5, 37 bajtów
25 bajtów plus 1 dla
-p
i 11 dla-MList::Gen
Poprzednie rozwiązanie, 40 bajtów: 39, plus jeden dla
-p
źródło
Perl, 36 bajtów
Obejmuje +1 dla
-p
Uruchom z STDIN
reverse.pl
źródło
Dyalog APL , 17 bajtów
⎕
monit o wejście⍳
”wylicz, ażx←
lista zapisów wejściowych w x⌽
odwrotność xx(
…)
poprzednia odwrócona lista z oryginalną listą⍕¨¨
przekonwertuj każdą liczbę każdej listy na ciąg znaków∊¨
przekształć każdą listę ciągów znaków w ciągi znaków pojedynczych⍎¨
przekonwertuj każdy ciąg znaków na liczbę+/
sumując dwie liczby .źródło
Mathematica, 64 bajty
źródło
Siatkówka, 80 bajtów (kodowanie ISO 8859-1)
We / Wy jest jednoznaczne z
'
postacią liczącą. Teoretycznie obsługuje każdą liczbę całkowitą, którą na nią rzucisz, w praktyce ... tłumacz online odmawia przetworzenia czegoś większego niż 6 (jednoargumentowy''''''
).Wypróbuj online!
Wypróbuj online! (dziesiętne IO - 91 bajtów)
źródło
𝔼𝕊𝕄𝕚𝕟, 12 znaków / 15 bajtów
Try it here (Firefox only).
Meh
Wyjaśnienie
Przybiera zasięg
[1,input]
, dołącza do niego; przyjmuje ten sam zakres, odwraca go, a następnie łączy; suma obu zakresów jest wynikiem.źródło
Ruby, 40 znaków
Przykładowy przebieg:
źródło
C #, 126 bajtów
Można ewentualnie zagrać w golfa dalej. Nie jestem do końca pewien.
źródło
Groovy,
4239 znakówPrzykładowy przebieg:
źródło