Nomor yang tidak menarik (yang sama sekali tidak saya sesuaikan untuk tantangan ini) dibuat seperti ini:
- Ambil bilangan bulat positif N
- Buat angka O baru dengan menambahkan angka N di akhir N
- Angka terakhir yang tidak menarik adalah O * N
Misalnya untuk N = 12:
- O = 1212
- O * N = 1212 * 12
- Angka terakhir adalah 14544
Memasukkan
Bilangan bulat positif N (N> 0) atau setara dengan bahasa Anda. Anda tidak harus menangkap input yang salah.
Keluaran
Nomor tidak menarik yang sesuai.
Uji kasus
1 -> 11
2 -> 44
3 -> 99
10 -> 10100
174 -> 30306276
Mencetak gol
Kode terpendek dalam Bytes menang.
Jawaban:
05AB1E , 3 byte
Dijelaskan
Cobalah online
sumber
str
dan*
menafsirkan string sebagai angka. Sangat berguna :)JavaScript (ES6), 10 byte
Perlu dipanggil dengan argumen sebagai a
String
, bukan aNumber
.Pemakaian:
-3 byte berkat saran @Quill .
sumber
_=>(_+_)*+_
_
sebagai karakter arbitrer untuk suatu variabel? (PS -(_+_)
benar - benar terlihat seperti pantat)$
juga akan berfungsin=>(1+10**-~Math.log10(n))*n*n
(sayangnya-~
memiliki prioritas lebih tinggi daripada**
) atau 31 di ES6n=>-~`1e${-~Math.log10(n)}`*n*n
. Bahkan rekursi membuat saya 32 byte:f=(n,m=1)=>n<m?-~m*n*n:f(n,m*10)
Java 8,
29 26 2521 BytesTuhan memberkati lambda
c-> Long.decode (c + "" + c) * c;sumber
vim, 11
crcrcrcrcr ...
sumber
<C-r>
tidak bisa dilakukan.<C-r>
carriage kembali?<C-r>
adalah kontrol plus r. Pengembalian kereta adalah<cr>
.Pyth,
54 bytePenjelasan:
Uji di sini .
sumber
Emacs, 17 byte
(*SPACEC-SPACEC-EM-YSPACEC-YC-Y)C-J
Penjelasan
(*
titik (sebelum nomor);)
di akhir;Contoh
Kursor diwakili oleh sebuah pipa (
|
)|174
(* |174
(* 174|
(* 174 |
(* 174 174174|
(* 174 174174)|
Hasil
sumber
C #,
1923 byteTanpa string, 47 byte
sumber
(n)=>{int.Parse(""+n+n)*n}
2;
?Python 2.7, 21 byte:
Nah, ini harus menjadi jawaban Python terpendek yang pernah saya tulis dalam waktu tersingkat. Ini adalah fungsi lambda anonim yang dapat dieksekusi dengan memberi nama apa pun yang Anda inginkan dan kemudian menyebutnya seperti fungsi normal yang dibungkus
print()
. Misalnya, jika input Anda12
, dan fungsinya bernamaH
, ini akan disebut sepertiprint(H(12))
.Cobalah secara Online! (Ideone)
Perhatikan bahwa ini hanya berfungsi untuk nilai naik dan sama dengan
9223372036854775807
karena nilai yang lebih tinggi danrepr()
menempatkan aL
di akhir bilangan bulat. Oleh karena itu, untuk nilai yang lebih besar dari9223372036854775807
, versi 24 byte ini akan menjadi yang berfungsi:Coba Ini Online! (Ideone)
sumber
Jelly, 4 Bytes
Cobalah online
Penjelasan
sumber
;DDx
Ḍ
hanya membutuhkan 1 byte? Biasanya kita menggunakan UTF-8, di mana dibutuhkan 3 (dan × mengambil 2, tetapi itu adalah 1 byte misalnya ISO8859-1).C,
706854535244Versi sebelumnya (48 byte, tanpa fungsi matematika), menyimpan 16 byte berkat @LeakyNun, 1 byte berkat @FryAmTheEggman, 4 byte berkat @TobySpeight:
Panggil
f()
dengan satu argumen, nomor, dan mengembalikan nomor yang tidak menarik yang sesuai.Program uji
Hasil tes:
Cobalah online!
sumber
f(n){int b=1;while(a)b*=10,a/=10;return(n+n*b)*n;}
math.h
, tetapi Anda lolos begitu saja di GCC, di manalog10()
danpow()
sudah built-in, dan kompilator hanya memperingatkan tentang "deklarasi implisit yang tidak kompatibel dari fungsi built-in" daripada mengasumsikan (sebagaimana mestinya) bahwa mereka berdua kembaliint
.a
...Dyalog APL , 7 byte
⍕
representasi string⍕,
representasi string yang diawali#⍎
buat menjadi angka (dalam root namespace)⊢×
kalikan dengan nomor aslisumber
J, 7 byte
Penjelasan
sumber
Under
bekerja dengan baik dengan penggabungan string. Sungguh penemuan yang luar biasa bagi saya! Terima kasih.* ,~ &.": n
, dan tidak dapat digunakan dalam pembentukan kata kerja lain juga.Retina ,
2720 byteMendapat sedikit lambat untuk input besar, karena sebelum tahap terakhir hasilnya diwakili dalam unary.
Cobalah online! (Baris pertama memungkinkan suite tes yang dipisahkan dengan linefeed.)
Penjelasan
Saya akan menggunakan
2
sebagai input contoh (karena representasi unary menjadi sedikit sulit untuk input yang lebih besar).Tahap 1: Substitusi
Dengan mencocokkan awal string dengan
^
kami hanya menambahkan beberapa hal.$_
mengacu pada string input itu sendiri dan$*:
berarti kami memasukkan banyak titik dua. Jadi kita dapatkan:Tahap 2: Pergantian
Sekarang kami mencocokkan setiap
:
dan menggantinya dengan$_$*:
. Tentu saja, kali$_
ini tidak mengevaluasi ke integer (tetapi:: 22
dalam contoh kita), tetapi$*
hanya mencari desimal pertama dalam string, jadi ini mengevaluasi input yang digabungkan dengan dirinya sendiri (O
dalam spesifikasi tantangan). Kami akan berakhir denganN*O
titik dua, diikuti olehO
:Tahap 3: Cocokkan
Yang tersisa hanyalah menghitung
:
s untuk mengkonversi dari unary back ke desimal, yang persis seperti apa tahap ini.sumber
CJam , 8 byte
Cobalah online!
sumber
r__+i\i*
, yang panjangnya sama.r__+si*
, di manas
"terapkan operasi ini di atas tumpukan"), tapi saya tidak melihat hal seperti ituJelly,
86 byteCobalah online!
Penjelasan
sumber
³
.Awk, 13 byte
Atur baris menjadi 2 dengan sendirinya dikalikan dengan sendirinya
sumber
Brachylog , 7 byte
Penjelasan
sumber
Python, 42 byte
Pendekatan aritmatika murni, tanpa string!
Ide itu!
sumber
Matlab / Oktaf, 20 byte
Ini adalah fungsi anonim yang mengambil input sebagai string.
Contoh penggunaan:
Atau coba online dengan ideone .
Penjelasan
Kode membangun string dengan menggabungkan string input dua kali, lalu karakter
*
(yang memiliki kode ASCII 42), kemudian string lagi. String yang digabungkan kemudian dievaluasi.sumber
42
artinya*
*
, kemudian string lagi. String yang digabungkan kemudian dievaluasi. Saya akan mengeditnya menjadi jawabanMATL , 6 byte
Cobalah online!
sumber
zsh, 13 byte
Mengambil input sebagai argumen baris perintah, output ke STDOUT.
Ini hanya bekerja di zsh, tapi di sini 15 byte di Bash menggunakan
echo
bukan<<<
:sumber
Perl, 11 byte
+
p
danl
bendera.(dijalankan dengan
perl -ple '$_*=$_ x2'
)-2 byte berkat pipa.
sumber
$_*=$_ x2
-l
$_ x2
akan menghasilkan...\n...\n
yang ketika dikonversi sebagai angka dengan perl berakhir pada awalnya\n
6
.Excel VBA, 35 Bytes
Sub disebut dengan nomor, kotak pesan mengembalikan jawaban
Alternatif Excel VBA, 42 Bytes
Angka yang diberikan dalam rumus, mengembalikan jawaban.
sumber
Lua, 20 Bytes
Dibawa dalam argumen baris perintah, dan output melalui STDOUT
Dan ungolfed sebagai @LeakyNun bertanya dalam komentar :)
sumber
Pyke,
54 byteCoba di sini!
Juga 5 byte dengan input string
sumber
PHP,
2524 byteTag pembuka pendek sangat berguna untuk beberapa tantangan golf, untungnya ini salah satunya. Sayangnya, prioritas operator adalah kebalikan dari urutan yang harus Anda lakukan sehingga diperlukan banyak tanda kurung.
sunting: Saya menyadari bahwa melihat bagaimana saya menggunakan tanda kurung, saya dapat secara efektif melewati operator gabungan dengan mengubah urutan tertulis dari operasi di sekitar.
sumber
dc,
1110 byteSaya tahu bahwa pada akhirnya saya akan menemukan kegunaan untuk
Z
perintah!Pengoperasiannya cukup sederhana - hitung digitnya, ambil 10 pangkat hingga kekuatan itu dan tambahkan satu. Ini memberikan pengganda yang menggabungkan angka dengan dirinya sendiri. Kemudian gandakan saja.
I / O menggunakan stack, seperti biasa untuk dc.
Program lengkap
Inilah yang saya gunakan untuk tes:
Dua perintah tambahan memberi kita I / O pipa.
Tes
Terima kasih kepada Sir Biden XVII (1 byte).
sumber
A
untuk10
menghemat satu byte. Sudah selesai dilakukan dengan baik!Mumps, 11 byte
Ini adalah salah satu tantangan golf langka di mana keistimewaan gondong bisa sangat berguna. Pertama, semua variabel adalah string, dan semua persamaan matematika secara ketat dievaluasi kiri-ke-kanan (seperti dalam: bukan PEMDAS), jadi 1 + 2 * 4 = 12 di Mumps bukannya = 9 seperti yang PEMDAS inginkan. Jadi, (hampir tidak) tidak diserang:
Kata hati-hati - karena rasa Mumps yang saya gunakan (InterSystems Ensemble) tidak menggemakan carriage return untuk stdin, input dan nomor output akan tampak digabungkan. Untuk memperbaiki / meningkatkan keterbacaan, Anda perlu menambahkan dua byte dan menambahkan manual CR / LF, dengan demikian:
Namun, karena saya tidak melihat persyaratan itu dalam aturan tantangan, saya cukup yakin bahwa saya baik dengan kode yang lebih pendek. Jika saya salah, silakan LART saya dan saya akan mengubah jawaban saya. :-)
sumber
PowerShell,
25, 18 byteTerima kasih TessellatingHeckler untuk mengingatkan saya betapa PS sangat menyukai pipeline.
18 byte baru:
Lama 25 byte:
Penjelasan:
Pengujian (simpan sebagai boring.ps1):
Jelas bukan jawaban yang menang, tetapi menyenangkan terlepas dari!
sumber
process{$_*"$_$_"}
adalah 18 byte, dan mengambil input dari "stdin" (yaitu pipeline), misalnya174|script.ps1
param($a);$a*"$a$a"
param($n)$n*"$n$n"
(apa yang dimiliki Darth, tanpa;
) panjangnya sama dan bukan REPL.test.ps1
file yang terbaca dari pipa tidak dihitung? Apakah skrip bash shell membaca dari stdin juga tidak dihitung?Batch,
272018 byteSunting: Disimpan 7 byte berkat @TessellatingHeckler. Menyimpan 2 byte lebih lanjut berkat @ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ.
sumber
set /a
pada prompt menampilkan hasil penugasan. ->@cmd/c set/a n=%1%1*%1
untuk 22 byte.@cmd/cset/a%1%1*%1
untuk 18.cmd/c
ini diperlukan karena alat pengeksekusi file batch tidak dengancmd
sendirinya.