Jangan bingung dengan Cari faktorial!
pengantar
Faktorial bilangan bulat n
dapat dihitung dengan
Ini relatif mudah dan bukan hal yang baru. Namun, faktorial dapat diperluas menjadi faktorial ganda , sehingga
untuk bilangan genap, dan
untuk angka ganjil. Tapi kami tidak terbatas pada faktorial ganda. Misalnya
atau
atau
tergantung pada nilai awal.
Secara ringkas:
mana
Atau, dalam bahasa Inggris polos: Kurangi jumlah faktorial dari angka dasar berulang kali dan gandakan semua bilangan bulat positif yang dihasilkan.
Tantangan
Tulis fungsi yang akan menghitung segala faktorial berulang untuk bilangan bulat non-negatif.
Memasukkan
Antara
- Sebuah string yang mengandung bilangan bulat basis-non-negatif, diikuti oleh 1 atau lebih tanda seru. Misalnya
"6!"
atau"9!!"
atau"40!!!!!!!!!!!!!!!!!!!!"
.
atau
- Nilai yang sama diwakili oleh dua bilangan bulat: satu nilai dasar non-negatif dan satu nilai positif yang mewakili jumlah faktorial. Ini dapat dilakukan sesuai dengan format apa pun dari aturan I / O default.
Keluaran
Hasil perhitungan tersebut.
Komentar tantangan
0!
sama1
dengan definisi. Kode Anda harus menjelaskan hal ini.- Hitungan faktorial dibatasi oleh nilai luar rentang ini, Anda bebas untuk menghasilkan apa pun. Selain itu , yang merupakan satu-satunya pengecualian untuk aturan ini.
0!
Contohnya
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
Cobalah dengan implementasi Python yang ungolfed: Cobalah online!
Komentar umum
- Ini adalah kode-golf , jadi jawabannya menggunakan byte paling sedikit di setiap bahasa yang menang.
- Aturan standar , aturan I / O, dan aturan celah berlaku.
- Harap sertakan tautan Try it Online- untuk menunjukkan bahwa kode Anda berfungsi.
- Harap motivasikan jawaban Anda dengan penjelasan kode Anda.
3!!!!!!!
seharusnya tidak didefinisikan — itu hanya akan menghasilkan jawaban 3
. Itu sama dengan 1!!=1
(tidak terdefinisi). Spesifikasi input Anda juga mengatakan bahwa akan selalu ada setidaknya satu !
, jadi contoh pertama 3
tidak sesuai dengan spesifikasi.
(3!)!
malah menghapus istilah dari faktorial. Itu nama yang menyesatkan; Saya datang dengan asumsi itu akan menerapkan fungsi faktorial berulang kali dalam sebuah rantai dan harus membaca dengan cermat untuk melihat apa itu sebenarnya. Untungnya pertanyaan itu menjelaskannya dengan jelas. Nama yang lebih baik mungkin adalah langkah faktorial atau faktorial langkah atau sesuatu.
0!
tetapi pernyataan tantangan mengatakan bahwa jumlah faktorial akan kurang dari atau sama dengan nilai dasar.