Tugas Anda adalah untuk mengambil nomor ini sebagai input (meskipun harus bekerja dengan nomor lain juga):
18349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957
dan temukan periode terkecil, dalam hal ini:
1834957034571097518349570345710975183495703457109751834957034571097518349570345710976
Semoga berhasil dan selamat bersenang - senang!
Klarifikasi :
- Jumlah input minimal satu periode dan satu periode parsial
- Periode selalu dimulai pada awal nomor input
- Periode berarti dalam hal ini urutan angka yang berulang sendiri.
>
menghadap ke arah yang salah.Jawaban:
CJam,
2016 byteBaca dari STDIN. Cobalah online.
Kode di atas akan membutuhkan memori O (n 2 ) , di mana n adalah panjang input. Ini akan bekerja dengan 2 16 digit, selama Anda memiliki cukup memori.
Ini dapat memperbaiki biaya lima byte tambahan:
Contoh dijalankan
Bagaimana itu bekerja
Untuk input Q, idenya adalah mengulangi karakter pertama len (Q) kali dan memeriksa apakah indeks Q dalam hasilnya adalah 0. Jika tidak, ulangi dua karakter pertama len (Q) kali, dll.
sumber
Regex (.NET flavor),
2322 byteIni akan cocok dengan periode yang diperlukan sebagai substring.
Uji di sini.
Bagaimana cara kerjanya?
sumber
aabaabaab
mungkin akan cocoka
karena berulang. Saya belum menemukan cara untuk menyelesaikannya di PCRE. Dennis mencoba jawaban yang sekarang sudah dihapus, tetapi jawaban itu juga tidak berfungsi. Btw, kamu tidak perlug
.Python 60
s
adalah deretan angkamisalnya:
sumber
Pyth , 14 karakter
Penjelasan:
Pada dasarnya, ini menghasilkan semua urutan awal dari input, mengulangi setiap satu
len(z)
kali, dan melihat apakahz
, input, terletak di dalam string yang dihasilkan.Ini bukan jawaban yang valid, tetapi fitur baru-baru ini ditambahkan ke Pyth, setelah pertanyaan diajukan, yang memungkinkan solusi 12 karakter:
Ini menggunakan filter pada fitur integer.
sumber
Japt , 8 byte
Cobalah
-2 byte terima kasih kepada Shaggy!
Dijelaskan JS Dijelaskan:
sumber
å+ æ@¶îX
Java 8, 125 byte
Mengambil input sebagai string karena tidak ada cara yang masuk akal untuk mewakili angka 1000+ di Jawa selain string (Tolong Bukan BigInteger).
Cobalah online!
sumber
String
dengan var. -3 byte