Hari ini, saat saya menulis ini, adalah 31 Maret. Di AS, ini 3/31
. Saya bermain-main dengan 331
sebagai nomor untuk datang dengan tantangan, dan menemukan bahwa residu (modulo angka kecil) adalah palindromik. 331%2=1, 331%3=1, 331%4=3, 331%5=1, 331%6=1
( 11311
).
Tantangan Anda di sini adalah, ketika diberi bilangan bulat n > 2
, output n
angka positif pertama yang memiliki residu palindromik ketika diambil modulo [2,n]
.
Misalnya, untuk input 7
, output harus 1, 42, 43, 140, 182, 420, 421
. Inilah bagan yang menjelaskan mengapa demikian:
mod
num | 2 3 4 5 6 7
-----------------
1 | 1 1 1 1 1 1
42 | 0 0 2 2 0 0
43 | 1 1 3 3 1 1
140 | 0 2 0 0 2 0
182 | 0 2 2 2 2 0
420 | 0 0 0 0 0 0
421 | 1 1 1 1 1 1
Memasukkan
Integer positif tunggal n
dengan n > 2
format apa pun yang nyaman .
Keluaran
Array / daftar yang dihasilkan dari n
residu palindromik pertama , seperti diuraikan di atas. Sekali lagi, dalam format apa pun yang sesuai.
Aturan
- Sebab
n > 10
, anggap daftar residu akan diratakan sebelum memeriksa apakah itu palindrom. Artinya,[1, 10, 11]
palindromik, tetapi[1, 10, 1]
tidak. - Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online agar orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Contohnya
[input]
[output]
3
[1, 6, 7]
4
[1, 4, 5, 8]
5
[1, 50, 60, 61, 110]
6
[1, 30, 31, 60, 61, 90]
7
[1, 42, 43, 140, 182, 420, 421]
8
[1, 168, 169, 336, 337, 504, 505, 672]
9
[1, 2520, 2521, 5040, 5041, 7560, 7561, 10080, 10081]
10
[1, 280, 281, 560, 1611, 1890, 1891, 2170, 2171, 2241]
11
[1, 22682, 27720, 27721, 50402, 55440, 55441, 78122, 83160, 83161, 105842]
code-golf
math
number-theory
palindrome
AdmBorkBork
sumber
sumber
n
elemen pertama .[1, 10, 11]
palindromik, tetapi[1, 10, 1]
tidak" tampaknya secara matematis salah.Jawaban:
Haskell, 57 byte
Contoh penggunaan:
f 4
->[1,4,5,8]
. Cobalah online!Yang pertama
=<<
adalah dalam konteks fungsi dan diterjemahkan ke lambda\x -> reverse x == x
dan yang kedua=<<
dalam konteks daftar dan setara denganconcatMap
, yaitu peta-dan-ratakan-satu-daftar-level.sumber
05AB1E , 12 byte
Cobalah online!
Penjelasan
sumber
Mathematica, 79 byte
sumber
JavaScript (ES6), 104 byte
Demo
NB : Karena banyak panggilan rekursif, ini akan macet untuk n> 8 di Firefox atau n> 10 di Chrome.
Tampilkan cuplikan kode
sumber
Python 2,
9897 byteCobalah secara Online!
sumber
12
karena aturan aneh yang[1, 10, 11]
dianggap sebagai palindromMATL , 19 byte
Terima kasih kepada @AdmBorkBork karena menunjukkan kesalahan pada versi kode sebelumnya, sekarang diperbaiki
Cobalah online!
Penjelasan
sumber
Scala,
908682 bytePenjelasan
Uji kasus
Hasil
Suntingan
# 1 (90 => 86)
# 2 (86 => 82)
(2 to n).map(%i)
=>(2 to n)map(%i)
sumber
def f(n:Int)=
untuk(n:Int)=>
, karena juga mendefinisikan fungsi (tapi tanpa nama). Menghemat 4 byte!Jelly , 12 byte
Bagaimana?
Cobalah online!
sumber
CJam , 28 byte
Cobalah online!
Penjelasan
sumber
PHP, 93 Bytes
Versi Online 2 Output Loop sebagai string
Diperluas
PHP 130 Bytes
Versi Online 2 Loop
Diperluas
PHP, 139 Bytes dengan 1 loop
Versi Online 1 Loop
Jalankan dengan
Diperluas
sumber
QBIC , 48 byte
Beats Mathematica! Contoh dijalankan:
Penjelasan:
sumber
Japt , 26 byte
Cobalah online! Butuh beberapa detik pada semua input, jadi harap bersabar.
Ini akan jauh lebih singkat (dan lebih cepat) jika ada built-in untuk mendapatkan angka N pertama yang memenuhi beberapa kondisi:
sumber