Golfscript, 114 112 111 110 109 65 (86) karakter
Jika Anda tidak peduli untuk mendapatkan hasil minggu ini, 65 karakter sudah cukup:
~](;2/0\:X{~\.X{0=}%^\{\.@- 1928049029:P.,\@{@*\%(!}++?**}+/+P%}/
Tetapi jika Anda mencari efisiensi, ini sedikit lebih lama di 86 karakter:
~](;2/0\:X{~\.X{0=}%^\{\[.0](@-[1928049029:P%P]{.~/{\.(;@@~@*-+\}+2*.1=}do;0=*}+/+P%}/
Ini dibedah jauh lebih detail daripada yang ingin saya ulangi di blog saya .
Terutama bukan pekerjaan saya, tetapi memberikan banyak dari Nabb memberi 47 karakter:
n%(!\:A{~A{~;.3$- 1928049029:N((?1or**}/\/+N%}/
Catatan: Saya hanya beralasan tentang kode ini: mencoba menjalankannya tidak ada gunanya mengingat lamanya waktu dan jumlah memori yang akan digunakan.
{*N%2<}
dengan{*N%1=}
seperti di blog dan Anda bisa membuang(;
setelahnyaN,
. Tetapi untuk entri yang tidak relevan dengan kinerja, Anda dapat menggunakan teorema kecil Fermat tanpa memedulikan sisi modular eksponensial - biarkan saja untuk rapi akhir - jadi penerima menjadiN((?
.{*N%1=}+
akan kehilangan case dengan penyebut nol, yang akan membutuhkan setidaknya 3 karakter untuk ditangani. Bagus hanya dengan melakukan x ^ (N-2), kita sebenarnya bisa mendapatkan 46 karakter menggunakan ini.Lua 444 Chars
Berfungsi untuk contoh di halaman wiki
Tetapi entah bagaimana tidak berhasil untuk contoh di sini di halaman ini. Adakah yang bisa menemukan kesalahan?
Versi non-golf:
Golf (tidak menggunakan bidang terbatas), 444 karakter:
sumber
Jawa,
435407 karakterTidak Disatukan:
sumber
Haskell, 183
sumber