Geben Sie bei einer nichtnegativen Ganzzahl zurück, ob es sich um eine dreistellige Zahl handelt, die auf einer beliebigen konsistenten Ganzzahlbasis endet. Mit anderen Worten muss die Zahl in der Basis N dargestellt werden, wobei N eine ganze Zahl größer als Null ist.
Regeln
- Das ist Code-Golf , also gewinnt die kürzeste Antwort.
- Da sich unary komisch verhält, ist das Verhalten mit Eingang 3 10 undefiniert.
- Standardlücken sind verboten.
Beispiele
Wahr:
5
73
101
1073
17
22
36
55
99
Falsch:
8
18
23
27
98
90
88
72
68
Eine Handvoll großer Zahlen:
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
ist geraden
1
s, zum Beispiel0 = ()₁
,3 = (111)₁
,10 = (1111111111)₁
etc.Antworten:
Gelee , 7 Bytes
Gibt die Anzahl der Basen zurück (Nicht-Null ist wahr, Null ist falsch), in denen die Eingabe eine dreistellige Zahl ist, die auf Eins endet.
Probieren Sie es online!
Wie es funktioniert
quelle
JavaScript (ES7),
434039 ByteTestfälle
Code-Snippet anzeigen
Kommentiert
quelle
Python 3 ,
5047 Bytes-2 Bytes dank @LeakyNun
-1 Bytes dank @Dennis
Probieren Sie es online!
quelle
Haskell ,
41-40BytesVielen Dank an @Zgarb für das Golfen ab 1 Byte!
Probieren Sie es online!
quelle
Brachylog , 10 Bytes
Probieren Sie es online!
quelle
05AB1E ,
118 Bytes3 Bytes gespart dank Adnan .
Probieren Sie es online!
Erläuterung
quelle
Gelee , 12 Bytes
Probieren Sie es online!
quelle
Mathematica, 43 Bytes
Probieren Sie es online!
oder Online ausprobieren! (große Zahlen)
Martin Ender sparte 3 Bytes
quelle
!FreeQ[#~IntegerDigits~Range@#,{_,_,1}]&
ist etwas kürzer, wenn es Ihnen nichts ausmacht, dieIntegerDigits::ibase: Base 1 is not an integer greater than 1.
Warnung zu sehen. (Es gibt immer noch die richtigen Antworten.)Wolfram Language (Mathematica) , 35 Byte
Probieren Sie es online!
Prüft explizit, ob n% i = 1 und i 2 <n <i 3 für eine mögliche Basis i . Für Golfzwecke wird die Ungleichung auf 1 <n / i 2 <i umgestellt , so dass sie an die Gleichheit angekettet werden kann.
quelle
Sauber ,
5856 Bytes-2 danke an Dennis
Probieren Sie es online!
quelle
Schale , 10 Bytes
Probieren Sie es online! Ganz in der Nähe der Gelee-Antwort von Dennis .
quelle
APL (Dyalog Unicode) ,
212014 Bytes SBCS-5 danke an @ngn.
Rein arithmetische Lösung (führt eigentlich keine Basisumrechnungen durch) und damit sehr schnell.
Probieren Sie es online!
⊢(
…)⍨1↓⍳
Auf ein Argument, das aus den 1ndices 1… und dem Argument gestrichen wurde, gilt:|
der Geschäftsbereich bleibt übrig×∘⌈
mal die aufgerundeten⍟
log N Argument3∊
Ist drei ein Mitglied davon?quelle
⊢(∨/(3=∘⌈⍟)∧1=|)⍨1↓⍳
(⊂1 3)∊⊢(⌈|,¨⍟)⍨1↓⍳
3∊⊢(|×|×∘⌈⍟)⍨1↓⍳
1=⌈a⍟b
,a≤b
→a=b
→0=a|b
∵0=b|b
Pyth , 10 Bytes
Überprüfen Sie alle Testfälle.
quelle
Schale , 15 Bytes
Probieren Sie es online!
Erläuterung
quelle
PHP, 48 + 1 Bytes
Ausgänge mit
0
für falsch (oder Eingabe3
),1
für wahr.Laufen Sie als Pipe mit
-nR
oder versuchen Sie es online .quelle
C 60 Bytes
Eine Funktion, die einen Wert ungleich Null zurückgibt, wenn das Argument als dreistellige Zahl mit der Endung 1 dargestellt werden kann:
Hinweis: Dies funktioniert mit GCC, wo die Funktionen eingebaut sind. Für andere Compiler müssen Sie wahrscheinlich sicherstellen, dass die Argument- und Rückgabetypen bekannt sind:
Erläuterung
Die niedrigste Basis, in der
n
3 Stellen dargestellt sind⌊∛n⌋
, ist und die niedrigste Basis, in dern
2 Stellen dargestellt sind, ist⌊√n⌋
dreistellig , . Wir testen also einfach, ob die Zahl mit 1 Modulo für alle Basen im dreistelligen Bereich übereinstimmt. Wir geben die Anzahl der Basen zurück, die die Bedingung erfüllen, wobei wir einen Wert ungleich Null (wahr) oder Null (falsch) angeben.Testprogramm
Übergeben Sie eine beliebige Anzahl von Eingaben als Positionsparameter:
quelle
APL (Dyalog Unicode) , 19 Byte SBCS
Dennis 'Methode .
Probieren Sie es online!
(⊂,1)∊
Ist[1]
ein Mitglied von2↓¨
zwei Elemente fielen aus jedem von⊢⊥⍣¯1¨⍨
das in jeder der Basen dargestellte Argument1↓⍳
man ist durch das Argument von den Anfängen abgefallen?quelle
Julia , 31 Bytes
Probieren Sie es online!
quelle
Pyt ,
3533 BytesErläuterung:
Probieren Sie es online!
quelle
> <> , 42 Bytes
Probieren Sie es online!
Returns
10
für truthy,00
für Falsey.quelle