Wprowadzenie
Dziesiętny kończy się, jeśli ma skończoną liczbę cyfr dziesiętnych. Na przykład 0,4 (2/5) kończy się, ponieważ ma jedną cyfrę dziesiętną.
Liczba dziesiętna jest czysto okresowa, jeśli ma nieskończoną liczbę cyfr dziesiętnych i nie ma cyfr dziesiętnych przed powtórzeniem (część dziesiętna, która się powtarza). Na przykład 0,142857142857142… (1/7) jest czysto okresowa, ponieważ ma powtarzalność 142857, który zaczyna się powtarzać natychmiast po przecinku.
Dziesiętny jest ostatecznie okresowy, jeśli ma nieskończoną liczbę cyfr dziesiętnych i ma skończoną liczbę cyfr dziesiętnych przed powtórzeniem (część dziesiętna, która się powtarza). Na przykład 0.166666666666666… (1/6) jest ostatecznie okresowy, ponieważ jego powtórzenie 6 zaczyna się powtarzać po 1.
Twoje zadanie
Napisz program lub funkcję, która, gdy otrzyma liczby p i q (liczby całkowite, 0 <= p < q <= 100), określi, czy dziesiętna reprezentacja p / q jest zakończona, czysto okresowa czy ewentualnie okresowa.
Musisz wyjście aczy to kończące (czyli 0,1), bjeśli jest to czysto Okresowe (czyli 0,333 ...), lub cjeśli jest to Ostatecznie Okresowe (czyli 0,166 ...), gdzie a, bi csą jakieś wyraźne, stałe ciągi wyboru.
Przypadki testowe
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
Można znaleźć wszystkie przypadki testowe tutaj .
Możesz wybrać własne 3 wartości wyjściowe, ale musi być jasne, która z nich jest.
Pamiętaj, że to jest golf golfowy , więc wygrywa kod z najmniejszą liczbą bajtów.
Poradnik
Zakończenie:
Faktoryzacja pierwotna mianownika kończącego dziesiętnego w najprostszej postaci składa się tylko z 2 i 5 s.
Czysto okresowe:
Faktoryzacja pierwotna mianownika czysto okresowego dziesiętnego w najprostszej postaci nie obejmuje żadnych 2s lub 5s.
Ostatecznie okresowe:
Faktoryzacja pierwotna mianownika ostatecznie okresowego dziesiętnego w najprostszej postaci obejmuje co najmniej jedną 2 lub 5, ale obejmuje także inne liczby.
Liderów
Oto fragment kodu, który pozwala wygenerować zarówno zwykłą tabelę wyników, jak i przegląd zwycięzców według języka.
Aby upewnić się, że twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown:
# Language Name, N bytes
gdzie Njest rozmiar twojego zgłoszenia. Jeśli poprawić swój wynik, to może zachować stare porachunki w nagłówku, uderzając je przez. Na przykład:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Jeśli chcesz umieścić w nagłówku wiele liczb (np. Ponieważ twój wynik jest sumą dwóch plików lub chcesz osobno wymienić kary za flagi tłumacza), upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku:
# Perl, 43 + 2 (-p flag) = 45 bytes
Możesz także ustawić nazwę języka jako link, który pojawi się we fragmencie tabeli wyników:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
