Giriş
Bir ondalık, sınırlı sayıda ondalık basamağa sahipse sonlanır. Örneğin, 0.4 (2/5) bir ondalık basamağa sahip olduğu için sonlanıyor.
Ondalık ondalık basamak sayısına sahipse ve tekrar etmeden önce ondalık basamağa sahip değilse (ondalık basamağın tekrarı olan kısmı), bir ondalık basamağı sadece periyodiktir. Örneğin, 0.142857142857142… (1/7) tamamen tekrarlanmıştır. 142857, ondalık noktasından hemen sonra tekrar etmeye başlar.
Bir ondalık, sonsuz sayıda ondalık basamağa sahipse ve tekrar etmeden önce sonlu bir ondalık basamağa sahipse (tekrarlayan ondalık basamağın bir parçası), periyodiktir. Örneğin, 0.166666666666666… (1/6) sonunda periyodiktir, çünkü tekrar 6, 1 den sonra tekrar etmeye başlar.
Senin görevin
P ve q sayıları verildiğinde (tamsayılar, 0 <= p < q <= 100), p / q'nun ondalık gösteriminin bitip bitmediğini, tamamen periyodik veya sonunda periyodik olup olmadığını belirleyecek bir program veya işlev yazın .
Sen gerekir çıktı a
's sonlandırma (yani 0.1), b
bu Tamamen Periyodik ise (yani 0.333 ...) ya c
da Sonunda Periyodik ise (yani 0.166 ...), nerede a
, b
ve c
seçtiğiniz herhangi belirgin, sabit dizelerdir.
Test durumları
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
Tüm test durumlarını burada bulabilirsiniz .
Çıktı için kendi 3 değerinizi seçmenize izin verilir, ancak hangisi olduğu açık olmalıdır.
Unutmayın, bu kod golf , bu yüzden en az bayt sayısına sahip olan kod kazanır.
İpuçları
sonlandırma:
Sonlu bir ondalık baskın paydasının en basit biçimde en fazla çarpanlara ayırması sadece 2 ve 5 lerden oluşur.
Tamamen Periyodik:
Tamamen periyodik bir ondalık basamağın paydasının en basit haliyle ana çarpanlara ayırması 2 ya da 5'i içermez.
Sonunda Periyodik:
Sonunda periyodik bir ondalık basamağın paydasının en basit haliyle ana çarpanlara ayırılması en az bir 2 veya 5 içerir, fakat aynı zamanda diğer sayıları da içerir.
Liderler
Burada hem düzenli bir lider tablosu hem de kazananların dile göre genel bir bakış oluşturması için bir Stack Snippet'i var.
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
# Language Name, N bytes
Gönderinizin N
büyüklüğü nerede ? Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğundan veya tercüman bayrağı cezalarını ayrı ayrı listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :
# Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra büyük afiş snippet'inde görünecek bir bağlantı da yapabilirsiniz:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes