Dalam tantangan ini 2 tahun yang lalu, kami menemukan periode fraksi satuan ( 1/n where n is a natural number
).
Sekarang, tugas Anda adalah menulis program / fungsi untuk menemukan repetend dari fraksi unit.
The repetend adalah bagian dari ekspansi desimal yang berulang jauh, seperti:
- Representasi desimal dari
1/6
adalah0.16666...
, maka repetend adalah6
. - Representasi desimal dari
1/11
adalah0.090909...
, maka repetend adalah09
. - Representasi desimal dari
1/28
adalah0.0357142857142857142857...
, maka repetend adalah571428
.
Spesifikasi
- Masukkan dalam format apa pun yang masuk akal.
- Keluarkan repetend dalam desimal, string atau daftar .
- Untuk
1/7
(0.142857142857...
), Anda harus menampilkan,142857
bukan428571
. - Untuk
1/13
(0.076923076923076923...
), Anda harus menampilkan,076923
bukan76923
. - Tolong, jangan ada kekerasan.
Testcases
Input Output
1 0
2 0
3 3
7 142857
13 076923
17 0588235294117647
28 571428
70 142857
98 102040816326530612244897959183673469387755
9899 000101020305081321345590463683200323264976260228305889483786241034447924032730578846348115971310233356904737852308313971108192746742095161127386604707546216789574704515607637135064147893726639054449944438832205273259925244974239822204263056874431760783917567431053641781998181634508536215779371653702394181230427315890493989291847661379937367410849580765733912516415799575714718658450348520052530558642287099707041115264168097787655318719062531568845337912920497019901
Mencetak gol
Ini adalah kode-golf . Solusi terpendek dalam byte menang.
Tidak ada jawaban yang akan diterima, karena tujuannya bukan untuk menemukan bahasa yang mampu menghasilkan solusi terpendek, tetapi solusi terpendek dalam setiap bahasa.
Papan peringkat
code-golf
math
arithmetic
number-theory
Biarawati Bocor
sumber
sumber
1/13
ini0.076923076923...
bukan0.769230769230...
Jawaban:
Java, 150 byte:
Menambahkan spasi putih:
Tidak lengkap, program lengkap:
sumber
for(;;)
akan lebih sedikit byte daripadawhile(2<3)
meskipun sementara juga menjadi loop tak terbatas! (dan kurang dari bytewhile(1)
juga @Maltysen)a
danr
di dalam for loop. Menghemat byte!CJam, 26
Cobalah online
Penjelasan:
Program ini membangun serangkaian dividen yang terlibat dalam perhitungan ekspansi desimal, sampai menemukan dividen yang telah dilihat sebelumnya. Kemudian dibutuhkan semua dividen dimulai dengan yang itu, dan membaginya dengan n untuk mendapatkan digit dari repetend.
sumber
Python 3.5,
79747370 byteDisimpan 3 byte dengan melacak dividen, ide yang saya ambil dari jawaban CJam @ aditsu .
Mengujinya pada repl.it .
sumber
Jelly ,
1210 byteDisimpan 2 byte dengan melacak dividen, ide yang saya ambil dari jawaban CJam @ aditsu .
Cobalah online!
Bagaimana itu bekerja
sumber
Bahasa GameMaker, 152 byte
Berdasarkan jawaban Kenny
sumber
Jawa, 122
Mirip dengan solusi CJam saya.
sumber
Perl 6 , 37 byte
Jika Anda tidak peduli bahwa itu hanya akan bekerja dengan penyebut yang cocok dengan integer 64 bit, Anda dapat menghapus pemanggilan metode
.FatRat
.Penjelasan:
Uji:
sumber
Pyth, 63 byte
Cobalah online!
Terjemahan langsung dari jawabannya di Jawa .
sumber
PHP, 169 Bytes
sumber