Angka siklik adalah angka "n" yang bila dikalikan dengan 1, 2, 3, ... n, menghasilkan angka yang sama tetapi dalam urutan yang berbeda.
Misalnya, angka 142.857 adalah angka siklik karena 142.857 x 2 = 285.714, 142.857 x 3 = 428.571, 142.857 x 4 = 571.428, dan seterusnya. Diberikan input integer, tentukan apakah itu adalah bilangan siklik dengan mengeluarkan nilai kebenaran jika itu, dan nilai palsu jika tidak.
Selain itu, agar lebih jelas, input dapat berisi awalan 0: misalnya 0344827586206896551724137931
Ini karena, jika nol di depan tidak diizinkan pada angka, maka 142857 adalah satu-satunya angka siklik dalam desimal.
Karena ini kode-golf, jawaban tersingkat dalam byte menang!
code-golf
number
arithmetic
FantaC
sumber
sumber
Jawaban:
05AB1E ,
96 byteTerima kasih kepada Emigna untuk menghemat 3 byte!
Penjelasan:
Menggunakan penyandian 05AB1E . Cobalah online!
sumber
¦‚˜
?0588235294117647
.0212765957446808510638297872340425531914893617
seperti yang disebutkan dalam komentar jawaban lain. Melihat angka-angka yang diurutkan saya akan menganggapnya mengembalikan false, tetapi ketika menghapus nol itu menjadi benar.Sebenarnya , 18 byte
Cobalah online! (mengharapkan input yang dikutip)
Penjelasan:
sumber
Python, 86 byte
Cobalah online!
Masukkan angka sebagai string.
sumber
PHP, 64 Bytes
Versi Online
sumber
Haskell,
36333245 byteContoh penggunaan:
Saya tidak berpikir algoritma ini membutuhkan penjelasan apa pun.
TOL
Terima kasih atas sarannya: Nama Tampilan Umum, Laikoni.
Terima kasih atas koreksi: Antony Hatchkins.
EDIT Tidak, gagal pada "33".
sumber
<1
bukan==0
? Juga di sini adalah tautan TIO: Coba online!dc,
2425 byteMencetak "0" jika nomornya tidak siklik, jika tidak, "1". Membutuhkan nomor yang dimasukkan sebagai string.
Contoh penggunaan:
TOL
Penjelasan: Algoritma yang sama dengan pengiriman Haskell saya.
EDIT Tidak, gagal pada "33".
sumber
Mathematica, 81 byte
Cobalah online!
input string
Memasukkan
Keluaran
sumber
FromDigits
lebih pendek dariToExpression