Ketika saya melamar beberapa pekerjaan yang iklan pekerjaannya tidak menyebutkan gaji, saya membayangkan pewawancara jahat yang akan memberi kandidat kemungkinan untuk memutuskan gaji mereka sendiri ... dengan "bermain golf" itu!
Jadi begini saja:
Tanpa menggunakan angka, tulis kode yang menampilkan gaji tahunan yang ingin Anda tawarkan.
Namun, bisa menulis kode ringkas adalah landasan perusahaan ini. Jadi mereka telah menerapkan tangga senioritas yang sangat ketat di mana
pengusaha yang menulis kode dengan panjang b byte dapat memperoleh maksimum ($ 1'000'000) · b -0,75 .
kami sedang melihat (ini adalah bagian integer, hanya untuk alasan tampilan):
1 byte → $1'000'000 15 bytes → $131'199
2 bytes → $594'603 20 bytes → $105'737
3 bytes → $438'691 30 bytes → $78'011
4 bytes → $353'553 40 bytes → $62'871
10 bytes → $177'827 50 bytes → $53'182
Tantangan
Tulis program atau fungsi yang tidak mengambil input dan menghasilkan teks yang mengandung tanda dolar ( $
, U + 0024) dan representasi desimal dari angka (bilangan bulat atau nyata).
- Kode Anda tidak dapat berisi karakter
0123456789
.
Dalam output:
Secara opsional mungkin ada ruang tunggal antara tanda dolar dan nomor.
Mengejar dan memimpin ruang putih dan jalur baru dapat diterima, tetapi output lainnya dilarang.
Angka harus dinyatakan sebagai angka desimal hanya dengan menggunakan karakter
0123456789.
. Ini tidak termasuk penggunaan notasi ilmiah.Sejumlah tempat desimal diizinkan.
Entri valid jika nilai yang dikeluarkannya tidak lebih besar dari ($ 1'000'000) · b -0,75 , di mana b adalah panjang byte dari kode sumber.
Contoh output (tanda kutip tidak boleh berupa output)
"$ 428000" good if code is not longer than 3 bytes
"$321023.32" good if code is not longer than 4 bytes
" $ 22155.0" good if code is not longer than 160 bytes
"$ 92367.15 \n" good if code is not longer than 23 bytes
"300000 $" bad
" lorem $ 550612.89" bad
"£109824" bad
"$ -273256.21" bad
"$2.448E5" bad
Nilai
Nilai yang Anda hasilkan adalah skor Anda! (Menang gaji tertinggi, tentu saja.)
Papan peringkat
Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, $X (Y bytes)
di mana X
gaji Anda dan Y
ukuran kiriman Anda. (Dapat di Y bytes
mana saja dalam jawaban Anda.) Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di berita utama, dengan mencoretnya. Misalnya:
# Ruby, <s>$111111.111... (18 bytes)</s> <s>$111999 (17 bytes)</s> $123456 (16 bytes)
Anda juga dapat menjadikan tautan nama bahasa sebagai tautan, yang kemudian akan muncul di cuplikan papan peringkat:
# [><>](http://esolangs.org/wiki/Fish), $126,126 (13 bytes)
Edit: (dibulatkan) skor maksimum yang diizinkan per jumlah byte, untuk referensi yang lebih cepat - teks di sini :
sumber
$80,662.67
bukan$80662.6659
? Aturan Anda tampaknya menghalangi koma, yang berarti saya tidak bisa menggunakan fungsi mata uang bawaan apa pun.Jawaban:
bash, $ 127127
Cobalah online!
Karena
x
perintah tidak ada, itu kesalahan dan menetapkan kode keluar127
.Kemudian, kode menghasilkan tanda dolar diikuti oleh
$?
dua kali. The$?
toko variabel kode keluar dari perintah sebelumnya, jadi ini output$127127
di 13 bytes .sumber
x
memang ada. Sebagai bonus, itu mogok ketika mencoba membukanya, jadi saya mendapat$11
!]
bukannyax
, yang pertama cenderung tidak ada.w
adalah suatu hal (dekat denganwho
) dan keluar dengan sukses, sehingga Anda mendapatkan $ 00 untuk itu!Java 8, $ 131.199.00 (15 byte)
Cobalah online.
Penjelasan:
Saya menggunakan program untuk menghasilkan karakter ASCII yang dapat dicetak dalam kisaran
[32, 126]
yang, ketika membelah131199
, akan memiliki jumlah nilai desimal terendah. Karena101
dapat membagi131199
secara merata, menghasilkan1299
, saya hanya 31 sen kurang dari gaji maksimum saya yang mungkin berdasarkan pada byte-count saya 15.sumber
CJam , 5 byte, $ 262'144
Cobalah online!
Bagaimana itu bekerja
sumber
CJam , (5 byte) $ 294204.018 ...
Cobalah online!
Penjelasan:
P
B
sumber
R , 20 byte,
$103540.9
Cobalah online!
Maks untuk 20 byte adalah
$105737.1
, jadi ini cukup dekat dengan batas gaji!Ini akan menjadi kenaikan gaji yang bagus, dan jika saya dibayar untuk melakukan kode golf ......
sumber
pi
dengan jumlah dataset ... akan membutuhkan pendekatan terprogram untuk mengevaluasi berbagai kombinasi operator / dataset / pi untuk mendapatkan semaksimal mungkin. Tidak ada waktu untuk ini sekarang tapi itu terdengar seperti tantangan yang bagus.GS2 , (5 byte) $ 292.929
Program lengkap (ditampilkan di sini menggunakan kode-halaman 437 ). (Gaji maksimum yang dapat diterima @ 5 byte adalah $ 299069.75)
Cobalah online!
Dibangun berdasarkan jawaban GS2 Dennis ...
sumber
0x0724011d41
adalah 5 byte menurut hitungan saya ...R , 21 byte $ 99649,9
Cobalah online!
R
Pendekatan yang berbeda - lihat juga jawaban GiuseppeSangat dekat dengan maksimum $ 101937 untuk bytecount ini.
Bonus:
object.size()
R , 24 byte $ 89096
Cobalah online!
Ini mungkin tergantung pada sistem, tetapi ketika saya ra ini pada TIO saya mendapat $ 89096 - dekat dengan batas 92.223 untuk 24 byte.
sumber
datasets
paket itu masuk akal.prod
dansum
secara acak ... tetapi dorongan meningkat terlalu cepat!sum(volcano)
adalah690907
tapi itu akan menjadi sekitar 1 byte untuk bekerja, hahaJavaScript (ES6), 19 byte, $ 109.839
Cobalah online!
Tanpa
atob()
(Node.js), 26 byte, $ 86.126Cobalah online!
Rangkaian '$' dengan kode ASCII dari 'V' (86) dan '~' (126).
sumber
Buffer
. Pertama kali mengakui kelas ini; ')Buffer
konstruktor sudah tidak digunakan lagi, sehingga akan menjadi lebih lama di versi mendatangBrainfuck yang memodifikasi sendiri , 16 byte, $ 124444
Cobalah online!
sumber
:
, jadi Anda bisa menghapusnya dan menambahkan yang lain+
seharga $ 124444.1
, mengapa tidak dihitung3
dan kemudian hanya mencetak3
? Anda akan menghemat satu byte dan mencetak angka yang lebih tinggi.PHP, $ 131116 (8 byte)
Tidak melihat satu untuk php dan ingin membuangnya. Saya tahu suatu tempat di php adalah typecast buruk yang akan memotong ini menjadi dua tetapi saya tidak dapat menemukannya sekarang.
Ini hanya memanfaatkan tag pendek PHP dan konstanta bawaan PHP.
Cobalah online!
sumber
<?="$".
, lakukan saja$<?=
dan simpan beberapa byte.GS2 , 5 byte, $ 291'000
Ini adalah representasi CP437 dari kode sumber biner.
Cobalah online!
Bagaimana itu bekerja
sumber
Excel 19 byte $ 107899.616068361
Penjelasan:
sumber
vim,
$ 99999$ 110000$ 120000Cobalah online!
Menggunakan register ekspresi (perhatikan bahwa ada karakter <Cr>, yang tidak terlihat di sebagian besar font, antara
$
dan=
, untuk total 13 byte ) untuk menyisipkan nilai'pvh'
opsi dikalikan nilai'ur'
opsi.'previewheight'
adalah opsi yang mengontrol ketinggian jendela pratinjau, yang secara default adalah 12.'undoreload'
adalah jumlah maksimum garis yang bisa dimiliki buffer sebelum vim menyerah untuk menyimpannya dalam memori untuk undo, dan defaultnya menjadi 10.000.sumber
Jelly ,
$ 256000 $ 256256(6 byte ) $ 257256Program lengkap. (Gaji maksimum yang dapat diterima @ 6 byte adalah $ 260847,43)
Cobalah online!
Bagaimana?
Sebelumnya...
5 byte $ 256256
('$' menyatukan 256, ulangi 256 - menyebabkan pencetakan implisit sementara)
6 byte $ 256000:
(256 × 1000 ṭkemas '$')
sumber
C #
Program penuh,
72 byte, $ 4044866 byte, $ 43008Cobalah online!
Penjelasan
Operator shift kiri memperlakukan chars
'T'
dan'i'
sebagai integer 84 dan 105 masing-masing dan melakukan shiftLambda,
19 byte, $ 10956817 byte, $ 118784Cobalah online!
Sunting Terima kasih kepada @ LegionMammal978 dan @Kevin untuk menghemat 2 byte
sumber
()=>
keo=>
untuk -1 byte tambahan.o=>"$"+('t'<<'j')
bermain golf dengan $ 118784.PHP, 13 Bytes, Gaji $ 144000
Sayangnya untuk pekerjaan ini, pindah ke Mauritius diperlukan (well, saya bisa bergerak sedikit kurang jauh ke timur, namun setiap zona waktu kurang akan menghasilkan $ 36k penurunan gaji.) Untuk mengkompensasi ketidaknyamanan, gaji saya meningkat $ 1 setiap tahun kabisat.
Ini hanya menempatkan
Z
zona waktu dalam hitungan detik dan menambahkan apakah ini tahun kabisat atau tidak.sumber
brainfuck , 43 byte, $ 58888
Cobalah online!
Bagaimana itu bekerja
sumber
Python 3 , (22 byte) $ 98.442
Cobalah online!
Sama seperti jawaban Doorknob's Ruby , karakter Unicode 4 byte yang digunakan di sini
𘂊
,, memiliki nilai ordinal dari gaji integer maksimal yang dapat dicapai dalam 22 byte.Perhatikan bahwa
print()
mencetak argumen tanpa nama yang dipisahkan oleh spasi secara default (sep
adalah argumen bernama opsional).sumber
Gol> <> , $ 207680 dalam 8 byte
Cobalah online!
Bagaimana itu bekerja:
Cukup menarik, Anda dapat menggunakan
h
sebagai gantinyan;
, yang menghasilkan'o**h5$
dengan skor $ 231504, tetapi Anda tidak dapat menggunakan 0-9, dan tidak ada cara 1-byte untuk mendorong 53, nilai ASCII dari5
sumber
Jelly , 8 byte, $ 210176.48625619375
3535 (
⁽½"
) multipli (×
) diedit oleh sqrt (½
).Cobalah online!
sumber
Mathematica, 18 byte, $ 107.163,49
Program lengkap; jalankan menggunakan
MathematicaScipt -script
. Output$107163.4882807548
diikuti oleh baris baru yang tertinggal. Saya telah memverifikasi bahwa ini adalah solusi skor tertinggi dari bentuk di mana terdiri dari , , , dan .$~Print~N[expr]
expr
Pi
E
I
+-* /()!
sumber
I
?I
dan bukan hanyaI I
atauI/I
umumnya akan memiliki+ 0.*I
ditempelkan ke dalamnyaN
."$"~Print~Exp[E!N@E]
(yang memiliki panjang yang sama"$"~Print~N[E^(E!E)]
), tetapi dengan tanda kutip sekitar$
, output hanya nyaris melampaui batas.$~Print~⌈E^(E!E)⌉
dengan karakter langit-langit kiri dan kanan dengan satu karakter akan sedikit lebih dan 17 byte05AB1E (5 byte), $ 262626
Cobalah online!
$
["$", 26, 26, 26]
J
sumber
JavaScript (Node.js) , 23 byte, $ 65535
Cobalah online!
Ini adalah yang terbaik yang bisa saya dapatkan tanpa
atob
, meskipun ada ruang peningkatan tbh yang besarAnda tahu, tidak memiliki karakter pendek untuk fungsi konversi ascii menyebalkan BANYAK.
SETELAH HARI SELURUH
JavaScript (Node.js) , 30 byte, $ 78011
Cobalah online!
atau: 29 byte, $ 80020
dimana
adalahU+13894 INVALID CHARACTER
Oh
String.codePointAt
! Saya baru saja melupakan ini!Sebuah lelucon (15B, $ 130000), tidak sama sekali tetapi hanya untuk bersenang-senang
sumber
_=>"$⑮萬"
^ _ ^x1683F
?_=>"$"+parseInt('1V0I',36)
juga lebih tinggi dari apa yang Anda miliki sejauh ini, jadi Anda mungkin ingin menambahkannya juga. Sayang sekali Anda tidak dapat mengonversi basis 64 ke desimal di JavaScript ...MATLAB, 17 byte, $ 112222
Jawaban lama:
sumber
+pi
Ruby, $ 119443
Cobalah online!
Output integer maksimum untuk 17 byte. Karakter Unicode adalah U + 1D293, yang merupakan 119443 dalam hex.
sumber
$><<?$<<$$
pada sistem yang sudah berjalan lama. Jawaban hingga 177827 valid.dc , $ 169169 10 byte
Cobalah online!
Ini mencetak 13 (
D
) kuadrat, dua kalisumber
Japt, 5 byte, $ 262144
Menguji
Penjelasan
I
adalah konstanta Japt untuk64
,³
kubus dan kemudian'$+
menyatukannya dengan simbol dolar.sumber
"${I³
Befunge-98 (PyFunge) , 8 byte, $ 2.09728
Cobalah online!
Karakter
:
telah dihitung menggunakan metode berikut:Menggunakan
@
danf
juga berfungsi tetapi hanya memberi $ 208896.sumber
Befunge-93 , 9 byte, $ 192448
Cobalah online!
Output
$192448
, hanya dua dolar dan sembilan sen lebih pendek dari maksimum. Ini bahkan berfungsi sebagai polyglot dengan implementasi Befunge-98 yang tepat , di mana ia bahkan tidak perlu memunculkan kesalahan instruksi yang tidak dikenal!Penjelasan:
sumber
Cubix , $ 155088 (12 byte)
Cobalah online!
Masalah yang menarik, berharap untuk mendapatkan ini hingga 7 atau 8 byte, tetapi ternyata sulit. Mendorong karakter ე dan $ ke tumpukan, mengeluarkan, mengalikan
$
atas tumpukan, mengeluarkan nomor dan menghentikan. Masih berharap menemukan opsi byte yang lebih rendahsumber