pengantar
Desimal akan berakhir jika memiliki jumlah digit desimal yang terbatas. Misalnya, 0,4 (2/5) berakhir karena memiliki satu angka desimal.
Sebuah desimal murni periodik jika memiliki angka desimal angka tak terbatas dan tidak memiliki angka desimal sebelum pengulangannya (bagian dari desimal yang berulang.) Misalnya, 0,142857142857142… (1/7) murni periodik karena ia memiliki pengulangan berulang 142857, yang mulai berulang segera setelah titik desimal.
Suatu desimal pada akhirnya periodik jika memiliki angka desimal angka tak terhingga dan memiliki angka desimal angka hingga sebelum berulang (bagian dari desimal yang berulang.) Misalnya, 0.16666666666666666 ... (1/6) akhirnya periodik karena repetend 6 mulai berulang setelah 1.
Tugas Anda
Tulis sebuah program atau fungsi yang, ketika diberi angka p dan q (bilangan bulat, 0 <= p < q <= 100), akan menentukan apakah representasi desimal p / q berakhir, murni periodik, atau akhirnya periodik.
Anda harus keluaran a
jika itu Pengakhiran (yaitu 0,1), b
jika Murni periodik (yaitu 0,333 ...), atau c
jika itu Akhirnya periodik (yaitu 0,166 ...), di mana a
, b
dan c
apapun yang berbeda, string konstan pilihan Anda.
Uji kasus
0/1 => Terminating
0/2 => Terminating
1/2 => Terminating
0/3 => Terminating
1/3 => Purely Periodic
2/3 => Purely Periodic
0/4 => Terminating
1/4 => Terminating
2/4 => Terminating
3/4 => Terminating
0/5 => Terminating
1/5 => Terminating
2/5 => Terminating
3/5 => Terminating
4/5 => Terminating
0/6 => Terminating
1/6 => Eventually Periodic
2/6 => Purely Periodic
3/6 => Terminating
4/6 => Purely Periodic
5/6 => Eventually Periodic
0/7 => Terminating
1/7 => Purely Periodic
2/7 => Purely Periodic
3/7 => Purely Periodic
4/7 => Purely Periodic
5/7 => Purely Periodic
6/7 => Purely Periodic
0/8 => Terminating
1/8 => Terminating
2/8 => Terminating
3/8 => Terminating
4/8 => Terminating
5/8 => Terminating
6/8 => Terminating
7/8 => Terminating
0/9 => Terminating
1/9 => Purely Periodic
2/9 => Purely Periodic
3/9 => Purely Periodic
4/9 => Purely Periodic
5/9 => Purely Periodic
6/9 => Purely Periodic
7/9 => Purely Periodic
8/9 => Purely Periodic
0/10 => Terminating
1/10 => Terminating
2/10 => Terminating
3/10 => Terminating
4/10 => Terminating
5/10 => Terminating
6/10 => Terminating
7/10 => Terminating
8/10 => Terminating
9/10 => Terminating
0/11 => Terminating
1/11 => Purely Periodic
2/11 => Purely Periodic
3/11 => Purely Periodic
4/11 => Purely Periodic
5/11 => Purely Periodic
6/11 => Purely Periodic
7/11 => Purely Periodic
8/11 => Purely Periodic
9/11 => Purely Periodic
10/11 => Purely Periodic
0/12 => Terminating
1/12 => Eventually Periodic
2/12 => Eventually Periodic
3/12 => Terminating
4/12 => Purely Periodic
5/12 => Eventually Periodic
6/12 => Terminating
7/12 => Eventually Periodic
8/12 => Purely Periodic
9/12 => Terminating
10/12 => Eventually Periodic
11/12 => Eventually Periodic
0/13 => Terminating
1/13 => Purely Periodic
2/13 => Purely Periodic
3/13 => Purely Periodic
4/13 => Purely Periodic
5/13 => Purely Periodic
6/13 => Purely Periodic
7/13 => Purely Periodic
8/13 => Purely Periodic
9/13 => Purely Periodic
10/13 => Purely Periodic
11/13 => Purely Periodic
12/13 => Purely Periodic
0/14 => Terminating
1/14 => Eventually Periodic
2/14 => Purely Periodic
3/14 => Eventually Periodic
4/14 => Purely Periodic
5/14 => Eventually Periodic
6/14 => Purely Periodic
7/14 => Terminating
8/14 => Purely Periodic
9/14 => Eventually Periodic
10/14 => Purely Periodic
11/14 => Eventually Periodic
12/14 => Purely Periodic
13/14 => Eventually Periodic
0/15 => Terminating
1/15 => Eventually Periodic
2/15 => Eventually Periodic
3/15 => Terminating
4/15 => Eventually Periodic
5/15 => Purely Periodic
6/15 => Terminating
7/15 => Eventually Periodic
8/15 => Eventually Periodic
9/15 => Terminating
10/15 => Purely Periodic
11/15 => Eventually Periodic
12/15 => Terminating
13/15 => Eventually Periodic
14/15 => Eventually Periodic
Anda dapat menemukan semua kasus uji di sini .
Anda diizinkan untuk memilih 3 nilai Anda sendiri untuk output, tetapi harus jelas yang mana itu.
Ingat, ini adalah kode-golf , jadi kode dengan jumlah byte terkecil menang.
Petunjuk
Mengakhiri:
Faktorisasi utama dari denominator terminasi terminasi dalam bentuk paling sederhana hanya terdiri dari 2s dan 5s.
Murni periodik:
Faktorisasi utama dari penyebut desimal murni periodik dalam bentuk paling sederhana tidak termasuk 2s atau 5s.
Akhirnya Berkala:
Faktorisasi utama dari penyebut desimal periodik akhirnya dalam bentuk paling sederhana termasuk setidaknya satu 2 atau 5, tetapi juga termasuk angka lainnya.
Papan peringkat
Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda bisa menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
# Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat tautan nama bahasa yang kemudian akan muncul di cuplikan papan peringkat:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes