Zdefiniować w listy reszt euklidesowa podziału o , , i .
Biorąc pod uwagę liczbę całkowitą , musisz dowiedzieć się, czy istnieje liczba całkowita tak że jest permutacją .
Przykłady
Kryterium jest spełnione dla , ponieważ:
- mamy
- dla mamy , co jest permutacją
Kryterium nie jest spełnione dla , ponieważ:
- mamy
- najmniejsza liczba całkowita taka, że jest permutacją wynosi (co prowadzi również do )
Zasady
- Możesz albo podać prawdziwą wartość, jeśli istnieje, lub wartość fałsz, w przeciwnym razie, lub dwie różne i spójne wybrane przez ciebie wartości.
- To jest golf golfowy .
Wskazówka
Czy naprawdę potrzebujesz obliczyć ? Być może. Albo może nie.
Przypadki testowe
Niektóre wartości dla których istnieje :
3, 4, 5, 8, 30, 100, 200, 2019
Niektóre wartości dla których nie istnieje:
0, 1, 2, 13, 19, 48, 210, 1999
źródło
Haskell , 69 bajtów
Na podstawie twierdzenia o chińskiej reszcie
Wypróbuj online!
źródło
Haskell , 47 bajtów
Wypróbuj online!
źródło
Perl 6 ,
64615943 bajtówWypróbuj online!
-16 dzięki @Jo King
źródło
C # (interaktywny kompilator Visual C #) ,
125423836 bajtówBezpośredni port odpowiedzi @ xnor, który jest oparty na rozwiązaniu @ RobinRyder.
Zaoszczędź 4 bajty dzięki @ Ørjan Johansen!
Zaoszczędzono jeszcze 2 dzięki @Arnauld!
Wypróbuj online!
źródło
-~n%6/4>0
tak-~n%6>3
?Python 2 , 41 bajtów
Wypróbuj online!
Używa tej samej charakterystyki co Robin Ryder . Czek
n%2!=n%3<2
jest skrócony do-~n%6/4
. Spisanie trzech warunków okazało się krótsze niż napisanie ogólnego:46 bajtów
Wypróbuj online!
źródło
Wolfram Language (Mathematica) , 67 bajtów
Wypróbuj online!
źródło
Rubinowy , 54 bajty
Wypróbuj online!
Wykorzystuje sprytne rozwiązanie Robin Ryder .
źródło
Wolfram Language (Mathematica) , 56 bajtów
Wypróbuj online!
Znajduje wszystkie permutacje nieidentyfikacyjne pozostałych modułów wejściowych 2, 3, 5, 7 i sprawdza, czy któreś z nich znajduje się poniżej
{2,3,5,7}
każdej współrzędnej. Zauważ, że takOr@@{}
jestFalse
.źródło
Java (JDK) , 36 bajtów
Wypróbuj online!
Kredyty
źródło
R , 72 bajty
Wypróbuj online!
źródło
PHP ,
817872 bajtyRiff na odpowiedzi @Robin Ryder . Dane wejściowe są
STDIN
przesyłane, dane wyjściowe są'T'
zgodne z prawdą, a puste w''
przypadku fałszowania.Wypróbuj online!
Lub 73 bajtów z
1
lub0
odpowiedziwhile($y<3)$r|=$argn%($u='235'[$y])!=($b=$argn%'357'[$y++])&$b<$u;echo$r;
Wypróbuj online (wszystkie przypadki testowe)!
Oryginalna odpowiedź,
133127 bajtówWypróbuj online!
źródło
Python 3 , 69 bajtów
Wypróbuj online!
Mocno zakodowane
źródło
05AB1E , 16 bajtów
Wypróbuj online lub sprawdź wszystkie przypadki testowe .
Wyjaśnienie:
Zobacz moją wskazówkę 05AB1E (rozdział Jak kompresować duże liczby całkowite? ), Aby zrozumieć, dlaczego tak
Ƶ.
jest209
.źródło
J , 40 bajtów
Wypróbuj online!
Brutalna siła...
źródło
Galaretka , 15 bajtów
Wypróbuj online!
Jestem pewien, że jest odpowiedź golfisty. Zinterpretowałem prawdziwą wartość jako coś, co nie jest zerem, więc tutaj jest liczba możliwych wartości k. Jeśli muszą to być dwie odrębne wartości, to kosztuje mnie kolejny bajt.
Wyjaśnienie
źródło
?
to konstrukcja if-else w Jelly; dla niektórych języków jest to trudniejsze pytanie)Ḣe$
jeśli chcesz :)