pengantar
Sebagai contoh, mari kita ambil nomornya 7
. Kami kemudian menduplikasi ini dan menempatkan 7 ruang di antaranya. Kami mendapatkan ini:
7_______7
Setelah itu, kita akan mengurangi jumlahnya, sampai tidak ada ruang tersisa. Kami mendapatkan yang berikut untuk nomor 7:
7_______7
6543210
Kemudian, kita hanya menggabungkan keduanya, jadi:
7_______7
6543210 becomes
765432107
Ini akan keluar output untuk N = 7 .
Terlihat mudah, bukan? Sekarang mari kita ambil N = 12 . Kami kembali menyisipkan 12 spasi di antara dua angka, yang memberi kami:
12____________12
Lalu kita mulai pengurangan:
12____________12
111098765432
Dan ini akhirnya memberi kita:
1211109876543212
Seperti yang Anda lihat, bagian menurun berakhir pada 2, bukan pada 0 .
Tugas
Diberikan bilangan bulat, lebih besar dari 1 , menampilkan urutan menurun seperti yang ditunjukkan di atas.
Uji kasus
Input Output
2 2102
3 32103
4 432104
5 5432105
6 65432106
7 765432107
8 8765432108
9 98765432109
10 10987654321010
11 111098765432111
12 1211109876543212
13 13121110987654313
14 141312111098765414
15 1514131211109876515
20 201918171615141312111020
99 9998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150499
100 1009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150100
Ini adalah kode-golf , jadi pengiriman dengan jumlah byte paling sedikit menang!
Jawaban:
CJam,
1110 byteCobalah online. Mengasumsikan ada baris baru di input. (Terima kasih kepada @ jimmy23013 karena menyimpan byte.)
Penjelasan
Pada akhir setiap baris adalah seperti apa tumpukan itu pada saat itu (menggunakan
4
sebagai contoh).sumber
Julia, 30 byte
Ini adalah fungsi anonim yang menerima integer dan mengembalikan string. Untuk menyebutnya, tetapkan ke variabel.
Kami membangun dan bergabung dengan urutan menurun dari n -1 ke 0, dan mengambil karakter n pertama dari string yang dihasilkan. Kami menambahkan dan menambahkan ini dengan input sebagai string.
Verifikasi semua kasus uji online
sumber
Haskell, 44 byte
Contoh penggunaan:
f 14
->"141312111098765414"
.sumber
JavaScript (ES6),
5552 byteSunting: Disimpan 3 byte berkat @WashingtonGuedes.
sumber
.keys()
..keys()
seperti.reduce
. Alat yang tepat untuk pekerjaan itu, tetapi Anda selalu menemukan sesuatu yang dapat melakukan lebih baik dalam kasus khusus ituPython 2,
82725853 byteCoba di sini!
Terima kasih kepada @Alex untuk mengajari saya bahwa
repr(x)
=`x`
menyelamatkan saya banyak byte!sumber
Pyth, 11 byte
Dua versi alternatif, yang semuanya juga 11 byte ( menghela napas ):
Coba di sini.
sumber
Japt, 13 byte
Uji secara online!
Bagaimana itu bekerja
sumber
Jelly, 10 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Retina , 98
110Jawaban terlama sejauh ini: - /
Cobalah online.
sumber
Vitsy, 35 byte
Karena Vitsy tidak mengetahui cara membuat string dari angka, saya menerapkan menemukan panjang angka di tempat desimal di baris kedua.
Penjelasan:
Cobalah secara Online!
Mode Verbose untuk lols:
sumber
L
, memperbaikinya sekarang (tidak akan memperbarui pertanyaannya).public static void
metode. Utama mengakhiri program ketika selesai. Adapun cara melakukannya, instruksi disimpan dalam tipeArrayList<ArrayList<String[]>>
, di mana setiap baris adalah aString[]
. Setiap metode dibagi di baris baru dengan cara file dimuat, menyebabkan metode utama dipisahkan dari semua metode lainnya.String
s adalah instruksi,String[]
s adalah metode (yang pertama adalah metode utama), danArrayList<String[]>
s adalah kelas (yang pertama adalah kelas utama), benar?Pure Bash, 49
Atau:
Bash + coreutils, 48
sumber
12
, maka 12 karakter pertama11..0
(atau111098765432
), dan akhirnya12
Retina, 63 byte
Masih ada beberapa ruang untuk bermain golf ...
Cobalah online!
sumber
$0
in$0$*
juga, ketika token sebelumnya adalah literal yang bukan angka (seperti Anday
) ... melihat ini saya mungkin benar-benar mengimplementasikannya.MATL , 15 byte
EDIT (20 Mei 2016) Kode dalam tautan menggunakan
Xz
alih-alihXv
, karena perubahan terbaru dalam bahasa.Cobalah online!
sumber
Java, 93 byte
sumber
Ruby, 41 byte
sumber
Bima Sakti 1.6.5 ,
2725 bytePenjelasan
Pemakaian
sumber
I'::%{K£BCH=}<OHG<+<;+!
ke dalam file yang disandikan UTF-8, tetapi tidak berhasil.Perl 6 , 31 byte
Pemakaian:
sumber
Perl, 43 + 2 = 45 byte
Saya senang saya tidak menggunakan
reverse
dan juga tidaksubstr
:Membutuhkan
-pl
bendera.Bagaimana itu bekerja:
sumber
C,
130125 byteVersi tidak dikoleksi (dengan penjelasan):
Secara implisit dilemparkan dari ganda ke int
h=floor(...)
memungkinkan penggunaan#define p(x)
penghematan 5 byte.Uji ideone.
sumber
R, 67 byte (sebagai fungsi)
R, 63 byte (input dari STDIN)
sumber
Brainfuck, 265 Bytes
Ini hanya akan bekerja dengan angka <10
Coba versi golf di sini :
Tidak disatukan. Coba di sini :
sumber
,>>++++++[<++++++++>-]<[-<->]<
Ini dapat mengurangi 48 dengan panjang kode lebih pendek