Diberi angka> 0, hasilkan penjumlahan dengan semua digit (1 .. n) digabungkan dan dibalik serta ditambahkan. Misalnya, dengan n = 6:
Angka 1 hingga 6 digabungkan:
123456
Terbalik:
654321
Menambahkannya bersama-sama akan menghasilkan: 777777. Contoh lain adalah n = 11:
1 2 3 4 5 6 7 8 9 10 11 > 1234567891011
dan
11 10 9 8 7 6 5 4 3 2 1 > 1110987654321
Menambahkannya bersama akan menghasilkan 2345555545332
. Ini juga dikenal sebagai A078262 .
Kode terpendek menang!
n
, atau apakah kita harus mendukung bilangan bulat besar yang sewenang-wenang?max(256,yourlanguagesdefaultintegertypelimit)
". Tetapi harus ditentukan.10
yang harus diberikan23333333231
.Jawaban:
05AB1E, 7 byte
Cobalah online.
Penjelasan
sumber
+
daftar melakukan penambahan bersarang, sedangkan untuk string dikonversi ke int dan kemudian menambahkan. Tapi saya kira itu berhasil di sini! : PJelly, 9 byte
sumber
CJam,
1514 byteTerima kasih kepada Martin karena telah mencukur byte!
Cobalah online!
sumber
ri,:)s_W%i\i+
10
:)
Pyth,
1210 byteTerima kasih kepada @FryAmTheEggman untuk 2 byte!
Q
adalah input,S
mengubahnya menjadi[1, 2, ..., input()]
,_B
membagi dua atas_
(mundur) untuk membuat[rng, rev(rng)]
,jLk
memetakannyajoin
dengank
(yang merupakan variabel "string kosong"),sM
memetakan diint
atas array yang dihasilkan ini , dans
akhirnya menghitung jumlah.sumber
JavaScript (ES6),
706764 byteTetap memenuhi persyaratan, karena kode lama dibuat di bawah kesalahpahaman dari input.
sumber
Python 3, 74
Disimpan 6 byte berkat DSM.
Tidak ada yang terlalu menarik, bergabunglah dengan rentang lalu konversikan ke int dan tambahkan mereka.
sumber
Retina , 71
Karena itu alat yang salah untuk pekerjaan itu.
Cobalah online.
Berfungsi untuk input hingga 6, tetapi penerjemah online akan keluar setelah itu.
sumber
(c)+
menjadic
.$&$*c
->$*c
dan\d+:?
->\d+
dan saat ini 70. Dan untuk beberapa alasan itu terus bekerja ...Jolf, 9 byte
Coba di sini! Ganti
►
dengan\x10
.Saya mungkin bisa bermain golf dengan bergerak di sekitar casting tipe.
sumber
JavaScript (ES6),
6766 byteYa, itu ruang. Ugh. Setidaknya @Downgoat membantu saya menghemat satu byte.
sumber
+
dan membuat+ +
->- -
untuk menyimpan byte- -a.reverse().join
Serius, 12 byte
Cobalah online!
Penjelasan:
sumber
PowerShell, 35 byte
Mengonversi input menjadi rentang dengan
..
, lalu-join
menyatukannya, dan menambahkannya.Akan bekerja untuk nomor input hingga
138
, sementara139
akan memberikanInfinity
,140
dan di atas akan menghasilkan kesalahan pengecoran verbose yang luar biasa:sumber
Pyth - 8 byte
Cobalah online di sini .
sumber
10
atau11
JavaScript (ES6), 99
Ini menambahkan digit demi digit, sehingga dapat menangani angka di atas 53 bit ketepatan javascript
Uji
sumber
c
dengan variabel lain?Brachylog , 24 byte
sumber
MATL , 13 byte
EDIT (20 Mei 2016) Kode dalam tautan menggunakan
Xz
alih-alihXv
, karena perubahan terbaru dalam bahasa.Cobalah online!
sumber
05AB1E , 5 byte
Penjelasan:
Cobalah online!
sumber
Bash + coreutils, 39
Atau:
Ideone.
sumber
Perl 6 , 25 byte
Pemakaian:
sumber
$n
bukan$^n
-> $n {
merupakan salah satu yang berbeda untuk$^n
.R,
346064 bytepryr
Paket diasumsikan diinstal. ini memberikanf
singkatan untuk membuat fungsi.Edit ditambahkan 26 byte tetapi mengembalikan fungsi yang berfungsi, bukan sesuatu yang sepenuhnya salah.
Sunting ditambahkan 4 byte lain untuk menangani kasus di atas n = 10 di mana strtoi (sebelumnya digunakan) kembali
NA
sumber
Lua, 57
sumber
Lua, 53 Bytes
Program ini digunakan
n
sebagai argumen baris perintah.Saya berasumsi bahwa mengeluarkan angka dengan bagian desimal 0 tidak apa-apa (dalam bentuk
777777.0
karena ini adalah cara default untuk menghasilkan angka dalam lua (tidak ada perbedaan antara integer dan float)sumber
...
seperti itu! Saya akan tetap seperti ini untuk saat ini, karena saya tidak bisa menggunakan apa pun selain kompiler online dan tidak bisa mengatasinya (saya ingin mengujinya dan bermain sedikit sebelum memasukkannya ke dalam jawaban :))Perl 5, 37 byte
25 byte, ditambah 1 untuk
-p
dan 11 untuk-MList::Gen
Solusi sebelumnya, 40 byte: 39, ditambah satu untuk
-p
sumber
Perl, 36 byte
Termasuk +1 untuk
-p
Jalankan dengan di STDIN
reverse.pl
sumber
Dyalog APL , 17 byte
⎕
meminta input input⍳
menghitung sampaix←
daftar toko input dalam x⌽
terbalik xx(
...)
tambahkan daftar terbalik dengan daftar asli⍕¨¨
mengkonversi setiap nomor dari setiap daftar menjadi string karakter∊¨
membuat setiap daftar string karakter menjadi string karakter tunggal,⍎¨
mengkonversi setiap string karakter menjadi jumlah+/
jumlah kedua nomor .sumber
Mathematica, 64 byte
sumber
Retina, 80 byte (penyandian ISO 8859-1)
IO tidak sama dengan
'
sebagai karakter penghitungan. Secara teori mendukung bilangan bulat apa pun yang Anda gunakan, dalam praktiknya ... juru bahasa online menolak untuk memproses sesuatu yang lebih besar dari 6 (unary''''''
).Cobalah online!
Cobalah online! (desimal IO - 91 byte)
sumber
𝔼𝕊𝕄𝕚𝕟, 12 karakter / 15 byte
Try it here (Firefox only).
Meh
Penjelasan
Mengambil rentang
[1,input]
, bergabunglah; mengambil rentang yang sama, membalikkannya, lalu bergabung dengannya; jumlah dari kedua rentang adalah hasilnya.sumber
Ruby, 40 karakter
Contoh dijalankan:
sumber
C #, 126 byte
Mungkin bisa bermain golf lebih lanjut. Tidak begitu yakin.
sumber
Groovy,
4239 karakterContoh dijalankan:
sumber