Tugas
Ada satu set angka x
, sehingga x^2
terbagi 7^x-1
.
Tugas Anda adalah menemukan angka-angka ini. Diberikan input n, kode akan mencetak nomor ke-n yang mengikuti aturan ini.
Contoh 1 indeks
In Out
3 3
9 24
31 1140
Urutan yang relevan dapat ditemukan di sini .
Aturan
Jawaban terpendek akan menjadi pemenang *
Aturan main golf standar berlaku
Celah tidak diizinkan
Jawaban Anda bisa 0 atau 1 diindeks, sebutkan jawaban Anda
n
? Saya dapat memberikan hasil yang benarn=9
, tetapin=10
sudah menyebabkan masalah bagi saya.n=10
memberi saya 32; itu karena ia mulai menggunakan double bukan bilangan bulat dan mod salah setelah itu. :(Jawaban:
Haskell, 34 byte
Ini menggunakan pengindeksan berbasis 0. Contoh penggunaan:
([x|x<-[1..],mod(7^x-1)(x^2)<1]!!) 30
->1140
.Ini adalah implementasi langsung dari definisi tersebut. Itu membangun daftar semua angka
x
dan mengambiln
th.sumber
Pyth , 10 byte
Program yang mengambil input bilangan bulat dan mencetak nilai satu indeks.
Cobalah online!
Bagaimana itu bekerja
sumber
JavaScript (ES7), 40 byte
Ini kehilangan presisi cukup cepat karena fakta bahwa JS kehilangan ketepatan oleh
7**19
. Berikut ini adalah versi ES6 yang nyaris arbitrer:Ini selesai dalam waktu sekitar satu detik untuk test case 31.
Beberapa pendekatan lagi:
sumber
05AB1E , 11 byte
Cobalah online!
Untuk beberapa alasan saya tidak bisa masuk
½
kerjaµ7Nm<NnÖ½N
atau saya akan terikat dengan Pyth..
sumber
Ö
daftar perbaikan saya selama berbulan-bulan tapi saya tidak pernah berurusan dengan itu. Bagaimanapun, Anda tidak memerlukanN
karenaµ
secara otomatis menampilkan yang terakhirN
jika tumpukan kosong.Python 2 ,
4846 byteBerkat @Dennis untuk -2 byte!
Fungsi rekursif satu-indeks yang mengambil input melalui argumen dan mengembalikan hasilnya.
Cobalah online!(Batas rekursi meningkat untuk memungkinkan kasus uji akhir berjalan)
Bagaimana itu bekerja
n
adalah indeks yang diinginkan, dani
merupakan variabel penghitungan.Ekspresi
~-7**i%i**2<1
mengembalikanTrue
(setara dengan1
) jikai^2
membagi7^i - 1
, danFalse
(setara dengan0
) sebaliknya. Setiap kali fungsi dipanggil, hasil dari ekspresi dikurangkan darin
, mengurangin
setiap kali hit ditemukan;i
juga bertambah.Perilaku hubungan arus pendek dari
and
berarti bahwa ketikan
adalah0
,0
dikembalikan; ini adalah kasus dasar. Setelah ini tercapai, rekursi berhenti, dan nilai saati
ini dikembalikan oleh panggilan fungsi asli. Alih-alih menggunakan secara eksplisiti
, ini dilakukan menggunakan fakta bahwa untuk setiap panggilan fungsi, peningkatan telah dilakukan menggunakan-~
di depan panggilan; penambahan0
i
waktu memberii
, sesuai kebutuhan.sumber
(~-7**i%i**2<1)
menghemat beberapa byte.Python 2 ,
575351 byte-4 byte berkat ETHproduk
-2 byte berkat TuukkaX
Cobalah online!
urutannya adalah 1-diindeks
sumber
(7**i)
? Saya menghapusnya dan itu berhasil untuk yang saya coba.**
memiliki prioritas lebih tinggi daripada~
dan-
Python 2, 57 byte
Ini membutuhkan waktu yang sangat, sangat lama untuk nilai yang besar. Ini juga menggunakan banyak memori, karena membangun seluruh daftar lebih jauh dari yang diperlukan. Hasilnya nol-diindeks.
Cobalah online
sumber
2**n+1
batas atas?2**50
. Saya bisa menggunakan9**n+9
, tetapi butuh jauh lebih lama. Saya mulai berlarif(20)
beberapa saat yang lalu (dengan2**n+1
); masih belum selesai.Mathematica, 43 byte
Saat ini saya punya tiga solusi berbeda pada hitungan byte ini:
sumber
Divisible
.Cases[Range[#^3],x_/;x^2∣(7^x-1)][[#]]&
berdasarkan argumen heuristik bahwa n ^ 3 adalah batas atas. Saya telah menemukan bukti yang benar-benar luar biasa dari hal ini, yang margin ini terlalu sempit untuk dikandung :)PARI / GP , 42 byte
Cukup mudah. 1-diindeks, meskipun ini dapat dengan mudah diubah.
atau
sumber
Python 3 , 45 byte
Return True untuk input 1 , yang diizinkan secara default .
Cobalah online!
sumber
R, 35 byte
Ini hanya berfungsi untuk
n<=8
.Namun, ini versi yang lebih panjang yang cocok
n<=25
untuk 50 byte :sumber
8
karena menjadi int panjang?gmp
,, yang memungkinkan bilangan bulat besar yang sewenang-wenang. Namun, saya cepat kehabisan RAM untuk komputasi apa pun di atasn=25
.PHP,
4749 byteHanya bekerja untuk n <9 (
7**9
lebih besar dariPHP_INT_MAX
dengan 64bit)62 byte menggunakan bilangan bulat panjang acak: (tidak diuji; PHP di komputer saya tidak memiliki bcmath)
Jalankan dengan
php -nr '<code>' <n>
.kode semu
sumber
Pyke, 10 byte
Coba di sini!
sumber
Clojure , 83 byte
Cobalah online!
Ini membangun daftar Java BigIntegers yang tak terbatas mulai dari 1 dan memfilternya berdasarkan definisi. Ini menggunakan pengindeksan berbasis nol untuk memilih nilai ke- n dari daftar yang difilter.
sumber
Perl 5, 35 Bytes
Nah, ini hilang, jadi ini dia:
map{$_ if!((7**$_-1)%($_**2))}1..<>
sumber
Powershell, terlalu banyak byte
Hanya untuk melihat apakah itu mungkin dan apakah itu mungkin.
sumber
Perl 6 ,
3534 byteDiindeks 0.
Dicukur satu byte berkat Brad Gilbert.
sumber
{grep(…)}
QBIC , 39 byte
Saya tidak bisa menjalankannya di QBasic 4.5, tetapi sepertinya berjalan baik di QB64. Untuk beberapa alasan yang tidak bisa dijelaskan, QBasic menolak untuk secara bersih membagi 13.841.287.200 dengan 144, tetapi sebaliknya memberikan sisa -128. Kemudian mengembalikan 16 sebagai istilah ke 7 dari urutan ini, bukan 12 ...
sumber
Bertanya-tanya , 28 byte
Diindeks nol. Pemakaian:
Filter dari daftar bilangan asli dengan predikat yang menentukan apakah
x^2
dapat dibagi oleh7^x-1
, kemudian mendapatkan item ke-n dalam daftar itu.sumber
Tcl , 73 byte
Cobalah online!
sumber