Cykliczna liczba to liczba cyfr „n”, które pomnożone przez 1, 2, 3, ... n, dają te same cyfry, ale w innej kolejności.
Na przykład liczba 142 857 jest liczbą cykliczną, ponieważ 142 857 x 2 = 285,714, 142 857 x 3 = 4228571, 142 857 x 4 = 571,428 i tak dalej. Biorąc pod uwagę liczbę całkowitą, określ, czy jest to liczba cykliczna, wypisując prawdziwą wartość, jeśli tak, i wartość fałsz, jeśli nie.
Ponadto, dla jasności, dane wejściowe mogą zawierać wiodące 0: np. 0344827586206896551724137931
Wynika to z faktu, że jeśli wiodące zera nie są dozwolone w liczbach, wówczas 142857 jest jedyną liczbą cykliczną w systemie dziesiętnym.
Ponieważ jest to golfowy kod, wygrywa najkrótsza odpowiedź w bajtach!
code-golf
number
arithmetic
FantaC
źródło
źródło
Odpowiedzi:
05AB1E ,
96 bajtówDzięki Emigna za oszczędność 3 bajtów!
Wyjaśnienie:
Wykorzystuje kodowanie 05AB1E . Wypróbuj online!
źródło
¦‚˜
?0588235294117647
.0212765957446808510638297872340425531914893617
podaną w komentarzach do innej odpowiedzi. Patrząc na posortowane liczby, zakładam, że zwraca false, ale po usunięciu zer staje się to prawdą.Właściwie 18 bajtów
Wypróbuj online! (oczekuje podanych danych)
Wyjaśnienie:
źródło
Python, 86 bajtów
Wypróbuj online!
Wprowadź liczby jako ciągi znaków.
źródło
PHP, 64 bajty
Wersja online
źródło
Haskell,
36333245 bajtówPrzykładowe użycie:
Nie sądzę, aby ten algorytm wymagał wyjaśnienia.
TOL
Dzięki za sugestie: Ogólna nazwa wyświetlana, Laikoni.
Dzięki za korektę: Antony Hatchkins.
EDYCJA Nie, nie udaje się na „33”.
źródło
<1
zamiast==0
? Również tutaj jest link TIO: Wypróbuj online!dc,
2425 bajtówWyświetla „0”, jeśli liczba nie jest cykliczna, w przeciwnym razie „1”. Wymaga wprowadzenia liczby jako ciągu.
Przykładowe użycie:
TOL
Objaśnienie: Ten sam algorytm, co moje przesłanie Haskella.
EDYCJA Nie, nie udaje się na „33”.
źródło
Mathematica, 81 bajtów
Wypróbuj online!
ciąg wejściowy
Wejście
Wynik
źródło
FromDigits
jest krótszy niżToExpression