To wyzwanie jest wysoce zainspirowane tym, co @Mego stworzył za pomocą Holy i Holier liczb, wiele dzięki niemu i jego kalambury.
Liczby święte to liczby składające się wyłącznie z cyfr z dziurami , które są:
04689
Liczby z co najmniej jedną bezbożną cyfrą są uważane za bezbożne. Bezbożne cyfry są z definicji złe, ale przebywanie w pobliżu świętych cyfr pomaga im stać się neutralnymi. Dlatego im bliżej się znajdują, tym mniej są bezbożne (1 w sąsiedztwie).
Bezbożność liczby jest sumą bezbożności jej cyfr, liczba złożona tylko z bezbożnej liczby ma nieskończoną nieskończoność.
Number :8 5 5 8 7
Digital Unholiness:0+1+1+0+1
Total Unholiness :3
Number :0 1 7 5 5 2 8 5 7
Digital Unholiness:0+1+2+3+2+1+0+1+2
Total Unholiness :12
Number :1 5 7 3 2 1
Digital Unholiness:∞+∞+∞+∞+∞+∞
Total Unholiness :∞
Number :0 4 6 8 9
Digital Unholiness:0+0+0+0+0
Total Unholiness :0
Twoje zadanie
Musisz napisać program lub funkcję, która przyjmuje na wejściu dodatnią liczbę całkowitą lub ciąg złożony tylko z cyfr i wypisuje jej nieświętość. Jeśli zdecydujesz się użyć liczby całkowitej jako danych wejściowych, możesz założyć, że nigdy nie będzie miała ona wiodącej pozycji, 0
ponieważ Twój język może ją upuścić.
W przypadku nieskończonej bezbożności możesz wybrać pomiędzy trzema wyjściami
- Znak
∞
(3 bajty) - Nieskończony wynik zawierający co najmniej 1 niezerową cyfrę, ale tylko cyfry.
- Wbudowana
Infinity
wartość.
To jest golf golfowy, więc wygrywa najkrótszy kod w bajcie, powodzenia!
Infinity
wartości jest legalne?0
święta cyfra, zmodyfikuję post, aby zezwolić na odpowiedź w oparciu o nie wiodące cyfry 0.Odpowiedzi:
MATL ,
2524 bajtówWypróbuj online!
Dane wejściowe to ciąg znaków. Na wyjściu nieskończoność jest natywnie wyświetlana jako
Inf
.Wyjaśnienie
źródło
Python (3),
137131 bajtówWyniki
źródło
Pyth,
31292725 bajtówWypróbuj online: pakiet demonstracyjny lub testowy
Dla każdej cyfry obliczam odległości do każdej liczby. Odległość jest nieskończona, jeśli druga cyfra nie jest święta. Z tych list biorę minimalny dystans i podsumowuję go.
Wyjaśnienie:
źródło
JavaScript (ES6), 93 bajty
Jeśli
Infinity
nie jest to prawna nieskończoność, dodaj 13 bajtów dla==1/0?'∞':r
.źródło