introduzione
Un decimale termina se ha un numero finito di cifre decimali. Ad esempio, 0.4 (2/5) sta terminando perché ha una cifra decimale.
Un decimale è puramente periodico se ha un numero infinito di cifre decimali e non ha cifre decimali prima del suo ripetitore (la parte del decimale che si ripete.) Ad esempio, 0,142857142857142… (1/7) è puramente periodico perché ha un ripetizione 142857, che inizia a ripetere immediatamente dopo il punto decimale.
Un decimale è infine periodico se ha un numero infinito di cifre decimali e ha un numero finito di cifre decimali prima del suo ripetitore (la parte del decimale che si ripete.) Ad esempio, 0.166666666666666… (1/6) è infine periodico perché è ripeti 6 inizia a ripetere dopo un 1.
Il tuo compito
Scrivi un programma o una funzione che, quando vengono indicati i numeri p e q (numeri interi, 0 <= p < q <= 100), determinerà se la rappresentazione decimale di p / q sta terminando, puramente periodica o infine periodica.
È necessario uscita ase si tratta di terminazione (cioè 0,1), bse è puramente periodico (cioè 0,333 ...), o cse si tratta di fine periodica (cioè 0,166 ...), dove a, be csono eventuali distinte, le stringhe costanti di vostra scelta.
Casi test
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
Puoi trovare tutti i casi di test qui .
Puoi scegliere i tuoi 3 valori per l'output, ma deve essere chiaro su quale sia.
Ricorda, questo è code-golf , quindi vince il codice con il minor numero di byte.
suggerimenti
terminazione:
La scomposizione in fattori primi del denominatore di un decimale finale nella forma più semplice consiste solo di 2 e 5 secondi.
Puramente periodico:
La fattorizzazione primaria del denominatore di un decimale puramente periodico nella forma più semplice non include 2 o 5 secondi.
Eventualmente periodico:
La scomposizione in fattori primi del denominatore di un decimale eventualmente periodico nella forma più semplice include almeno un 2 o 5, ma include anche altri numeri.
Classifiche
Ecco uno snippet di stack per generare sia una classifica regolare che una panoramica dei vincitori per lingua.
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, utilizzando il seguente modello Markdown:
# Language Name, N bytes
dov'è Nla dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Se si desidera includere più numeri nell'intestazione (ad es. Perché il punteggio è la somma di due file o si desidera elencare separatamente le penalità del flag dell'interprete), assicurarsi che il punteggio effettivo sia l' ultimo numero nell'intestazione:
# Perl, 43 + 2 (-p flag) = 45 bytes
Puoi anche rendere il nome della lingua un collegamento che verrà quindi visualizzato nello snippet della classifica:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
