Introdução
Um decimal é finalizado se tiver um número finito de dígitos decimais. Por exemplo, 0,4 (2/5) está sendo finalizado porque possui um dígito decimal.
Um decimal é puramente periódico se tiver um número infinito de dígitos decimais e não tiver dígitos decimais antes de sua repetição (a parte do decimal que se repete.) Por exemplo, 0.142857142857142… (1/7) é puramente periódico porque possui repetição 142857, que começa a se repetir imediatamente após o ponto decimal.
Um decimal é eventualmente periódico se tiver um número infinito de dígitos decimais e tiver um número finito de dígitos decimais antes de sua repetição (a parte do decimal que se repete). Por exemplo, 0,166666666666666… (1/6) é eventualmente periódico porque seu repetir 6 começa a repetir após 1.
Sua tarefa
Escrever um programa ou função que, quando dadas números de p e de q (inteiros, 0 <= p < q <= 100), vai determinar se a representação decimal de p / q é que encerra, puramente periódica, ou, eventualmente, periódica.
Você deve saída a
se de terminação (ou seja, 0,1), b
se é puramente periódica (ou seja, 0,333 ...), ou c
se é Eventualmente periódica (ou seja, 0,166 ...), onde a
, b
e c
existem, cordas constantes distintos de sua escolha.
Casos de teste
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
Você pode encontrar todos os casos de teste aqui .
Você tem permissão para escolher seus próprios 3 valores para a saída, mas deve ficar claro qual é.
Lembre-se de que isso é código-golfe , portanto o código com o menor número de bytes vence.
Dicas
Terminando:
A fatoração primária de um denominador decimal de terminação na forma mais simples consiste apenas em 2s e 5s.
Puramente Periódico:
A fatoração primária de um denominador decimal puramente periódico na forma mais simples não inclui 2s ou 5s.
Eventualmente Periódico:
A fatoração primária de um denominador decimal eventualmente periódico da forma mais simples inclui pelo menos um 2 ou 5, mas também inclui outros números.
Classificação
Aqui está um snippet de pilha para gerar uma classificação regular e uma visão geral dos vencedores por idioma.
Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N
está o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Se você quiser incluir vários números no cabeçalho (por exemplo, porque sua pontuação é a soma de dois arquivos ou você deseja listar as penalidades do sinalizador de intérpretes separadamente), verifique se a pontuação real é o último número no cabeçalho:
# Perl, 43 + 2 (-p flag) = 45 bytes
Você também pode transformar o nome do idioma em um link que será exibido no snippet da tabela de classificação:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes