Biorąc pod uwagę nieujemną liczbę całkowitą, zwróć, czy jest to trzycyfrowa liczba kończąca się jedną, w dowolnej spójnej podstawie liczb całkowitych. Innymi słowy, liczba musi być reprezentowana w podstawie N, przy czym N jest liczbą całkowitą większą od zera.
Zasady
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź.
- Ponieważ unary zachowuje się dziwnie, zachowanie z wejściem 3 10 jest niezdefiniowane.
- Standardowe luki są zabronione.
Przykłady
Prawdziwe:
5
73
101
1073
17
22
36
55
99
Fałszywe:
8
18
23
27
98
90
88
72
68
Garść dużych liczb:
46656 true
46657 true
46658 true
46659 true
46660 true
46661 false
46662 false
46663 true
46664 false
46665 true
46666 true
46667 false
46668 false
46669 false
46670 true
46671 true
n
jest po prostun
1
s, na przykład0 = ()₁
,3 = (111)₁
,10 = (1111111111)₁
, itd.Odpowiedzi:
Galaretka , 7 bajtów
Zwraca liczbę zasad (niezerowa oznacza prawdziwość, zero oznacza fałsz), w której wejściem jest trzycyfrowa liczba kończąca się na jeden.
Wypróbuj online!
Jak to działa
źródło
JavaScript (ES7),
434039 bajtówPrzypadki testowe
Pokaż fragment kodu
Skomentował
źródło
Python 3 ,
5047 bajtów-2 bajty dzięki @LeakyNun
-1 bajtów dzięki @Dennis
Wypróbuj online!
źródło
Haskell ,
4140 bajtówDzięki @Zgarb za grę w golfa na 1 bajcie!
Wypróbuj online!
źródło
Brachylog , 10 bajtów
Wypróbuj online!
źródło
05AB1E ,
118 bajtówZaoszczędzono 3 bajty dzięki Adnan .
Wypróbuj online!
Wyjaśnienie
źródło
Galaretka , 12 bajtów
Wypróbuj online!
źródło
Mathematica, 43 bajty
Wypróbuj online!
lub Wypróbuj online! (duże liczby)
Martin Ender zapisał 3 bajty
źródło
!FreeQ[#~IntegerDigits~Range@#,{_,_,1}]&
jest nieco krótszy, jeśli nie przeszkadza ci zobaczenieIntegerDigits::ibase: Base 1 is not an integer greater than 1.
ostrzeżenia. (Nadal zwraca poprawne odpowiedzi.)Wolfram Language (Mathematica) , 35 bajtów
Wypróbuj online!
Jawnie sprawdza, czy n% i = 1 oraz i 2 <n <i 3 dla jakiejkolwiek możliwej podstawy i . Dla celów golfowych nierówność jest przestawiana na 1 <n / i 2 <i , dzięki czemu można ją powiązać z równością.
źródło
Czysty ,
5856 bajtów-2 dzięki Dennisowi
Wypróbuj online!
źródło
Łuska , 10 bajtów
Wypróbuj online! Całkiem blisko galaretowej odpowiedzi Dennisa .
źródło
APL (Dyalog Unicode) ,
212014 bajtów SBCS-5 dzięki @ngn.
Rozwiązanie czysto arytmetyczne (w rzeczywistości nie wykonuje żadnych konwersji podstawowych), a zatem bardzo szybkie.
Wypróbuj online!
⊢(
…)⍨1↓⍳
Na jeden usunięty z argumentu ices ndices 1… i argumentu stosuje się:|
pozostały podział×∘⌈
razy zaokrąglone⍟
log N Argument3∊
czy trójka jest tego członkiem?źródło
⊢(∨/(3=∘⌈⍟)∧1=|)⍨1↓⍳
(⊂1 3)∊⊢(⌈|,¨⍟)⍨1↓⍳
3∊⊢(|×|×∘⌈⍟)⍨1↓⍳
1=⌈a⍟b
,a≤b
→a=b
→0=a|b
∵0=b|b
Pyth , 10 bajtów
Sprawdź wszystkie przypadki testowe.
źródło
Łuska , 15 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
PHP, 48 + 1 bajtów
kończy się
0
na falsy (lub input3
),1
na prawdę.Uruchom jako potok z
-nR
lub spróbuj online .źródło
C, 60 bajtów
Funkcja, która zwraca wartość niezerową, jeśli argument może być reprezentowany jako trzycyfrowa liczba kończąca się na 1:
Uwaga: działa to z GCC, gdzie funkcje są wbudowane. W przypadku innych kompilatorów prawdopodobnie musisz upewnić się, że znane są typy argumentów i zwracane:
Wyjaśnienie
Najniższa podstawa
n
reprezentowana przez 3 cyfry to⌊∛n⌋
, a najniższa podstawan
reprezentowana przez 2 cyfry to⌊√n⌋
, więc po prostu testujemy, czy liczba jest zgodna z 1 modułem dowolnych zasad w zakresie 3 cyfr. Zwracamy liczbę baz spełniających warunek, podając odpowiednio wartość niezerową (prawda) lub zero (fałsz).Program testowy
Przekaż dowolną liczbę danych wejściowych jako parametry pozycyjne:
źródło
APL (Dyalog Unicode) , 19 bajtów SBCS
Metoda Dennisa .
Wypróbuj online!
(⊂,1)∊
Jest[1]
członkiem2↓¨
z każdego z nich wypadły dwa elementy⊢⊥⍣¯1¨⍨
argument reprezentowany w każdej z baz1↓⍳
jeden spadł z ɩ ndices od 1 do argumentu?źródło
Julia , 31 bajtów
Wypróbuj online!
źródło
Pyt ,
3533 bajtówWyjaśnienie:
Wypróbuj online!
źródło
> <> , 42 bajty
Wypróbuj online!
Zwraca
10
za prawdę,00
za falsey.źródło