Kami mendefinisikan sebagai daftar sisa-sisa divisi Euclidean oleh , , dan .
Diberikan bilangan bulat , Anda harus mencari tahu apakah ada bilangan bulat sehingga adalah permutasi .
Contohnya
Kriteria dipenuhi untuk , karena:
- kami memiliki
- untuk , kita memiliki , yang merupakan permutasi dari
Kriteria tidak terpenuhi untuk , karena:
- kami memiliki
- bilangan bulat terkecil sehingga adalah permutasi adalah (mengarah ke juga)
Aturan
- Anda bisa mengeluarkan nilai kebenaran jika ada dan nilai palsu sebaliknya, atau dua nilai yang berbeda dan konsisten pilihan Anda.
- Ini adalah kode-golf .
Petunjuk
Apakah Anda benar-benar perlu menghitung ? Ya, mungkin. Atau mungkin tidak.
Uji kasus
Beberapa nilai yang ada:
3, 4, 5, 8, 30, 100, 200, 2019
Beberapa nilai yang tidak ada:
0, 1, 2, 13, 19, 48, 210, 1999
sumber
Haskell , 69 bytes
Berdasarkan teorema sisa Cina
Cobalah online!
sumber
Haskell , 47 byte
Cobalah online!
sumber
Perl 6 ,
64615943 byteCobalah online!
-16 Terima kasih kepada @Jo King
sumber
C # (Visual C # Interactive Compiler) ,
125423836 bytePort langsung jawaban @ xnor, yang didasarkan pada solusi @ RobinRyder.
Disimpan 4 byte berkat @ Ørjan Johansen!
Disimpan 2 lagi berkat @Arnauld!
Cobalah online!
sumber
-~n%6/4>0
adil-~n%6>3
?Python 2 , 41 byte
Cobalah online!
Menggunakan karakterisasi yang sama dengan Robin Ryder . Cek
n%2!=n%3<2
disingkat menjadi-~n%6/4
. Menulis tiga kondisi ternyata lebih pendek daripada menulis yang umum:46 byte
Cobalah online!
sumber
Bahasa Wolfram (Mathematica) , 67 byte
Cobalah online!
sumber
Ruby , 54 byte
Cobalah online!
Menggunakan solusi pintar Robin Ryder .
sumber
Bahasa Wolfram (Mathematica) , 56 byte
Cobalah online!
Temukan semua permutasi non-identitas dari sisa modulo input 2, 3, 5, 7, dan periksa apakah ada
{2,3,5,7}
di bawah dalam setiap koordinat. Perhatikan bahwaOr@@{}
adalahFalse
.sumber
Java (JDK) , 36 byte
Cobalah online!
Kredit
sumber
R , 72 byte
Cobalah online!
sumber
PHP ,
817872 byteRiff pada jawaban @Robin Ryder . Input melalui
STDIN
, output adalah'T'
jika benar, dan kosong''
jika salah.Cobalah online!
Atau 73 byte dengan
1
atau0
responswhile($y<3)$r|=$argn%($u='235'[$y])!=($b=$argn%'357'[$y++])&$b<$u;echo$r;
Cobalah secara online (semua test case)!
Jawaban asli,
133127 byteCobalah online!
sumber
Python 3 , 69 byte
Cobalah online!
Hardcoded
sumber
05AB1E , 16 byte
Cobalah secara online atau verifikasi semua kasus uji .
Penjelasan:
Lihat ini 05AB1E ujung tambang (bagian Cara kompres bilangan bulat besar? ) Untuk memahami mengapa
Ƶ.
adalah209
.sumber
J , 40 byte
Cobalah online!
Paksaan...
sumber
Jelly , 15 byte
Cobalah online!
Saya yakin ada jawaban golf. Saya telah menafsirkan nilai kebenaran sebagai sesuatu yang bukan nol, jadi di sini adalah jumlah nilai yang mungkin dari k. Jika perlu dua nilai berbeda yang membuat saya byte lebih lanjut.
Penjelasan
sumber
?
adalah konstruksi if-else di Jelly; untuk beberapa bahasa itu adalah pertanyaan yang lebih sulit).Ḣe$
jika Anda mau :)