Wir definieren als die Liste der Reste der euklidischen Division von durch , , und .
Bei einer gegebenen Ganzzahl müssen Sie herausfinden, ob eine Ganzzahl so dass eine Permutation von .
Beispiele
Das Kriterium ist für erfüllt , weil:
- wir haben
- für haben wir , was eine Permutation von
Das Kriterium ist für nicht erfüllt , weil:
- wir haben
- die kleinste ganze Zahl so dass eine Permutation von ist, ist (was auch zu )
Regeln
- Sie können entweder einen Wahrheitswert ausgeben, wenn existiert, und einen falschen Wert, oder zwei unterschiedliche und konsistente Werte Ihrer Wahl.
- Das ist Code-Golf .
Hinweis
Müssen Sie wirklich berechnen ? Vielleicht. Oder vielleicht nicht.
Testfälle
Einige Werte von für die existiert:
3, 4, 5, 8, 30, 100, 200, 2019
Einige Werte von für die nicht existiert:
0, 1, 2, 13, 19, 48, 210, 1999
quelle
Haskell , 69 Bytes
Basierend auf dem chinesischen Restsatz
Probieren Sie es online!
quelle
Haskell , 47 Bytes
Probieren Sie es online!
quelle
Perl 6 ,
64615943 BytesProbieren Sie es online!
-16 danke an @Jo King
quelle
C # (Visual C # Interactive Compiler) ,
125423836 ByteDirekter Port von @ xnors Antwort, die auf der @ RobinRyder-Lösung basiert.
4 Bytes gespart dank @ Ørjan Johansen!
2 weitere dank @Arnauld gespart!
Probieren Sie es online!
quelle
-~n%6/4>0
nur-~n%6>3
?Python 2 , 41 Bytes
Probieren Sie es online!
Verwendet die gleiche Charakterisierung wie Robin Ryder . Der Scheck
n%2!=n%3<2
wird auf gekürzt-~n%6/4
. Das Aufschreiben der drei Bedingungen fiel kürzer aus als das Aufschreiben einer allgemeinen:46 Bytes
Probieren Sie es online!
quelle
Wolfram Language (Mathematica) , 67 Byte
Probieren Sie es online!
quelle
Ruby , 54 Bytes
Probieren Sie es online!
Verwendet die clevere Lösung von Robin Ryder .
quelle
Wolfram Language (Mathematica) , 56 Byte
Probieren Sie es online!
Findet alle Nichtidentitätspermutationen der Reste des Eingabemoduls 2, 3, 5, 7 und prüft, ob eine davon
{2,3,5,7}
in jeder Koordinate darunter liegt . Beachten Sie, dassOr@@{}
istFalse
.quelle
Java (JDK) , 36 Byte
Probieren Sie es online!
Credits
quelle
R , 72 Bytes
Probieren Sie es online!
quelle
PHP ,
817872 BytesEin Riff über die Antwort von @Robin Ryder . Die Eingabe erfolgt über
STDIN
, die Ausgabe ist'T'
wahr und leer,''
wenn sie falsch ist.Probieren Sie es online!
Oder 73 Bytes mit
1
oder0
Antwortwhile($y<3)$r|=$argn%($u='235'[$y])!=($b=$argn%'357'[$y++])&$b<$u;echo$r;
Probieren Sie es online aus (alle Testfälle)!
Ursprüngliche Antwort,
133127 BytesProbieren Sie es online!
quelle
Python 3 , 69 Bytes
Probieren Sie es online!
Hardcoded
quelle
05AB1E , 16 Bytes
Probieren Sie es online aus oder überprüfen Sie alle Testfälle .
Erläuterung:
Sehen Sie sich meinen Tipp 05AB1E (Abschnitt Wie komprimiere ich große ganze Zahlen? ) An, um zu verstehen, warum dies so
Ƶ.
ist209
.quelle
J , 40 Bytes
Probieren Sie es online!
Rohe Gewalt...
quelle
Gelee , 15 Bytes
Probieren Sie es online!
Ich bin sicher, es gibt eine golferische Antwort. Ich habe einen Wahrheitswert als etwas interpretiert, das nicht Null ist, also ist es hier die Anzahl der möglichen Werte von k. Wenn es zwei unterschiedliche Werte sein müssen, kostet mich das ein weiteres Byte.
Erläuterung
quelle
?
ist das if-else-Konstrukt in Jelly; für einige Sprachen ist es a schwierigere Frage)Ḣe$
wenn Sie wollten :)