Вступ
Десяткова частина закінчується, якщо вона має кінцеву кількість десяткових цифр. Наприклад, 0,4 (2/5) закінчується, оскільки він має одну десяткову цифру.
Десяткова частина є чисто періодичною, якщо вона має нескінченну кількість десяткових цифр і не має десяткових цифр перед її каяттям (частина десяткової, яка повторюється.) Наприклад, 0.142857142857142… (1/7) є чисто періодичною, оскільки вона має повторення. 142857, який починає повторюватися відразу після десяткової крапки.
Десяткова частина зрештою є періодичною, якщо вона має нескінченну кількість десяткових цифр і має кінцеву кількість десяткових цифр до її повторення (частина десяткової, яка повторюється.) Наприклад, 0,16666666666666666… (1/6), врешті-решт періодична, оскільки її повторення 6 починає повторюватися після 1.
Ваше завдання
Напишіть програму або функцію, яка при заданих числах p і q (цілі числа, 0 <= p < q <= 100) визначатиме, чи є десятковий подання p / q закінчуваним, чисто періодичним чи зрештою періодичним.
Ви повинні вихід , a
якщо він , закінчується (тобто 0,1), b
якщо це чисто періодична (тобто 0,333 ...), або , c
якщо це в кінцевому рахунку Періодична (тобто 0,166 ...), де a
, b
і c
які -то окремі, константні рядки вашого вибору.
Тестові кейси
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
Ви можете знайти всі тестові приклади тут .
Вам дозволяється вибирати свої власні 3 значення для виводу, але повинно бути зрозуміло, яке саме воно є.
Пам'ятайте, що це код-гольф , тому виграє код з найменшою кількістю байтів.
Підказки
Припинення:
Найпростіша факторизація знаменника закінчуваного десяткового у найпростішому вигляді складається лише з 2s та 5s.
Чисто Періодично:
Проста факторизація суто періодичного знаменника десятків у найпростішій формі не включає жодних 2 або 5.
Врешті періодично:
Проста факторизація знаменника періодичних періодичних знаків у найпростішій формі включає щонайменше одне 2 або 5, але також включає інші числа.
Табло лідерів
Ось фрагмент стека для створення як звичайного табло, так і огляду переможців за мовою.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
# Language Name, N bytes
де N
розмір вашого подання. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, тому що ваш результат - це сума двох файлів або ви хочете окремо перерахувати штрафні санкції для перекладача), переконайтесь, що фактичний результат - це останнє число у заголовку:
# Perl, 43 + 2 (-p flag) = 45 bytes
Ви також можете зробити ім'я мови посиланням, яке потім з’явиться у фрагменті таблиць лідерів:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes