Definisi
Dalam Matematika, Urutan Harmonik mengacu pada urutan di mana
yaitu istilah ke- n dari urutan sama dengan kebalikan dari n .
pengantar
Dalam tantangan ini, diberi bilangan bulat positif n sebagai input, output Jumlah Parsial dari n pertama istilah Urutan Harmonik.
Memasukkan
Anda akan diberikan bilangan bulat positif (dalam kisaran angka yang didukung oleh bahasa Anda). Itu bisa berupa Ditandatangani dan Tidak Ditandatangani (tergantung Anda), karena tantangannya hanya memerlukan bilangan bulat positif.
Anda dapat mengambil input dengan cara apa pun kecuali menganggapnya ada dalam variabel yang telah ditentukan. Membaca dari file, terminal, jendela modal ( prompt()
dalam JavaScript) dll diperbolehkan. Mengambil input sebagai argumen fungsi juga diperbolehkan.
Keluaran
Program Anda harus menampilkan jumlah dari n pertama istilah Urutan Harmonik sebagai pelampung (atau bilangan bulat jika hasilnya dibagi rata dengan 1) dengan presisi 5 angka signifikan, di mana n merujuk pada input. Untuk menyampaikan hal yang sama dalam jargon Matematika, Anda harus menghitung
di mana n mengacu pada input.
Anda dapat membuat output dengan cara apa pun kecuali menulis output ke variabel. Menulis ke layar, terminal, file, jendela modal ( alert()
dalam JavaScript) dll. Diperbolehkan. Keluaran sebagai return
nilai fungsi juga diizinkan.
Aturan tambahan
Nomor input dapat berupa 0-diindeks atau 1-diindeks. Anda harus menentukannya di posting Anda.
Anda tidak boleh menggunakan built-in untuk menghitung jumlah parsial dari n elemen pertama . (Ya, ini untukmu Mathematica!)
Anda tidak boleh menyalahgunakan tipe nomor asli untuk meremehkan masalah .
Berlaku celah standar .
Uji Kasus
Kasus Uji menganggap input sebagai 1-diindeks
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Kriteria Kemenangan
Ini adalah kode-golf , jadi kode terpendek dalam byte menang!
9.9999E10
daripada99999999999.9999999999
Jawaban:
Jelly , 3 byte
Cobalah online!
1-diindeks.
Penjelasan:
sumber
Python 3, 27 byte
sumber
RuntimeError
saat menangani input lebih besar dari batas rekursi, 1000 secara default.sys.setrecursionlimit(473755252663)
tetapi tumpukan pada akhirnya akan meluap dengan cukup mudahJavaScript,
1918 byte1 byte disimpan berkat @RickHitchcock
Ini 1-diindeks.
sumber
f=
dari jawaban Anda untuk menghemat 2 byte.f=
karena fungsinya rekursif dan itu referensi sendirif(--a)
. Tetapi jika ini bukan solusi rekursif, saya akan bisa melakukan ituf=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 byte
Cobalah online!
Anda dapat menambahkan
⎕PP←{number}
ke tajuk untuk mengubah ketepatan{number}
.Ini 1-diindeks.
Penjelasan
sumber
Mathematica,
212016 byteSolusi ini diindeks 1.
sumber
Tr[1./Range@#]&
.PHP, 33 Bytes
Pengindeksan 1
Cobalah online!
sumber
Pari / GP , 18 byte
Pengindeksan 1.
Cobalah online!
sumber
CJam , 11 byte
Cobalah online!
1-diindeks.
sumber
Japt
-x
,8653 byteDengan beberapa terima kasih kepada ETHproductions
Cobalah online
sumber
õ x@1/X
XpJ
alih-alih1/X
:-)_
karena fungsi otomatis. Saya harus benar-benar menulis tip itu: P (saya harus punya waktu hari ini atau besok, karena hari itu adalah Hari Peringatan)CJam ,
1110 byte1 byte dihapus berkat Erik the outgolfer
Ini menggunakan pengindeksan berbasis 1.
Cobalah online!
Penjelasan
sumber
W
bukan-1
.Haskell, 20 byte
Solusi asli, 22 byte
Solutios ini mengasumsikan input 1-diindeks.
sumber
R , 15 byte
Cobalah online!
sumber
Tcl 38 byte
Itu peretasan yang sangat kotor, dan panggilan rekursif melewati string literal seperti "5-1-1-1 ..." hingga bernilai 0.
sumber
05AB1E , 3 byte
Cobalah online!
1-diindeks.
sumber
MATL, 5 byte
Solusi ini menggunakan pengindeksan berbasis 1.
Cobalah di MATL Online
Penjelasan
sumber
Aksioma,
4534 byte1-Diindeks; Ini memiliki argumen satu bilangan bulat positif (PI) dan mengembalikan "Apa saja" yang dikonversi oleh sistem (atau tidak dikonversi) ke tipe yang berguna untuk fungsi arg berikutnya (akhirnya sepertinya begitu melihat contoh di bawah ini)
sumber
Pyth, 5 byte
Coba di sini.
1-diindeks.
sumber
C, 54 byte
Menggunakan angka 1-diindeks.
sumber
Brachylog , 6 byte
Cobalah online!
Ini 1-diindeks.
Penjelasan
sumber
QBIC , 13 byte
Penjelasan
sumber
Gol> <> , 8 byte
Cobalah online!
Contoh program lengkap & Cara kerjanya
sumber
Haskell, 21 byte
sumber
C (gcc) , 35 byte
Cobalah online!
sumber
Braingolf, 20 byte [tidak bersaing]
Ini tidak akan berhasil karena ketidakmampuan braingolf untuk bekerja dengan float, namun logikanya benar.
Penjelasan:
Berikut adalah juru bahasa yang dimodifikasi yang mendukung pelampung. Argumen pertama adalah input.
sumber
Tcl, 61 byte
Cobalah online!
sumber