Twoim zadaniem jako złodziei jest znalezienie rozwiązań dla gliniarzy i napisanie programu w języku, który oblicza n-ty termin sekwencji przy użyciu tylko bajtów w podanym zestawie.
Celem będzie złamanie jak największej liczby odpowiedzi gliniarzy. Z każdym pęknięciem przyznajesz jeden punkt.
Pęknięcia nie muszą być zamierzonym przez gliniarza rozwiązaniem, dopóki działają.
sequence
restricted-source
cops-and-robbers
Post Rock Garf Hunter
źródło
źródło
Odpowiedzi:
Haskell, Xnor
Wypróbuj online!
Pierwsza linia definiuje
s
jako stały punktshow
funkcji, który jest ciągiem nieskończonymMa
"
indeksy 0, 2, 6, 14, 30… Potęgi dwóch, minus dwa.Druga linia jest zdefiniowana
ss
jako ciągMa non-
\
s przy indeksach 0, 1, 2, 4, 8, 16, 32… Potęgi dwóch, ignorując 0.Mamy szczęście: w ASCII,
"
<[
<\
, więc możemy napisać funkcję wskaźnika dla mniej niż ukośniki w tym ciągu, a skończymy!w h
jest nasza odpowiedź: sprawdza, czy tenh
elementss
jest mniejszy niż ukośnik odwrotny. Cóż, nie możemy skonstruować ciągu zawierającego tylko odwrotny ukośnik, więc tworzymy inny ciąg, który zawsze jest większy niż"["
, mianowicieshow[h]
.źródło
Oktawa , Stewie Griffin
Funkcja anonimowa.
Wyjaśnienie
Wypróbuj online!
źródło
JavaScript (ES6), Arnauld
Wyjścia
0, 1, 4, 9, 16, 25, ...
.Nazewnictwo wejścia
$
sprawia, że wygląda na bardziej skomplikowane, niż musi być.atob('ICo=')
ocenia na*
wiodącą spację (znaleziono to ręcznie). To sprawia,${$}${atob(`ICo=`)}${$}
żen *n
gdzien
jest wejście.eval
ing daje kwadrat.Pokaż fragment kodu
źródło
a=>eval(`a${atob`ICo`}a`)
. Oczywiście każdą inną literę można wykorzystać jako zmienną wejściową. (Nawet jeśli chcesz użyć$
, nie musisz tego robić${$}
.)${$}
jest naprawdę dość głupi.Python 2, Rod
Jednak bardzo nieoptymalne. Kod:
Wypróbuj online!
źródło
and
inot
ze()
do1
i0
. :(import
był dostępny, a takżefrom
d
, ale czy konieczne jest użycie wszystkich bajtów przynajmniej raz?sum
Haskell, Christian Sievers
Wypróbuj online!
Uwaga:
product(map(pred)mempty)
wiersz 5 różni się od wiersza 1, ponieważ ten pierwszy jest typu,Int
a drugi jest typuInteger
.źródło
mempty
! Następnym razem, gdy powiemHaskell 98
... Czy możesz się obejśćy
? Ale używanieproduct
jest główną ideą, więc myślę, że nie zaczynam nowej wersji tego wyzwania. I żałowałem, że nie ma (lub mógłbym ustalić) limitu czasu. BTW,ao
wygląda na niepotrzebnie skomplikowane.ao
jest zbyteczny, ponieważaddone(x)=head(drop(product(map(pred)mempty))(enumFrom(x)))
. Aone(x)=product(enumFromTo(x)(pred(x)))
gdziex
jest liczba wejściowa, ale to nie działa w przypadku1
używanych zdrop
.Haskell, Christian Sievers
Wypróbuj online!
źródło
Haskell, Christian Sievers
Wypróbuj online!
źródło
head
we właściwym miejscu. Podobnie jak wszystkie inne wyzwania, było całkiem fajnie.Python 2, Bruce Forte
Wypróbuj online!
Łał. To było zabawne.
źródło
R, Jarko
W ogóle nie znam R., więc to tylko przypuszczenie.
Wypróbuj online!
źródło
R , Jarko
Wypróbuj online!
Zdecydowanie zajęło mi dobre pięć minut, aby spróbować dowiedzieć się, jak dostać się
1
z liter, ale potem przypomniałem sobie, że**
jest^
tak, że wypracowane ładnie! (i0^0=1
w R)źródło
**=^
. Nie wiedziałem tego.n==n
btw.f=function(n,c=n==n)'if'(n,f(n-(n==n),c*n),c*(n==n))
f=function(n)'if'(n-n==n,n**n,n*f(n-(n**(n-n))))
cQuents, Step Hen
To wydaje się załatwić sprawę:
Wypróbuj online!
źródło
C (gcc) , dj0wns
Wypróbuj online! Digraphs, digraphs wszędzie!
źródło
Rubin, tusz wartościowy
Z flagą -n,
p$./$$
To jest moje przypuszczenie dotyczące zamierzonego rozwiązania. Ignoruje dane wejściowe i po prostu wyświetla wartość dolną 1 / identyfikator procesu. Ponieważ identyfikator procesu zasadniczo nie może wynosić 0 lub 1, zawsze powinno to być 0.
źródło
Haskell , Christian Sievers
Wypróbuj online!
źródło
Haskell, Laikoni
Jeśli zwracanie
Int
jest wystarczająco dobre, robi to:źródło
JavaScript, iovoid
Wypróbuj online!
źródło
Haskell, Christian Sievers
Wypróbuj online!
W końcu naprawiono to dla liczb całkowitych zamiast liczb całkowitych. Bardzo wolno.
źródło
maxBound::Int
, więc myślę, że to nie jest poprawny.g
? - BTW, mogłeś użyću(n)=negate(pred(negate(n)))
u
, chciałbym o tym myśleć. Nie wiem jak to zrobić bezg
, bardzo ciężko było mi zdefiniować dodanie liczb całkowitych za pomocą twojego bajtu.Befunge , Jordan
Wypróbuj online!
źródło
R , Jarko, znowu
Różni się to od zamierzonego rozwiązania Jarko Dubbeldam, ale ogólna idea jest taka sama: aby generować
1:n
powtarzające się1:n
czasy, wykorzystujediag
dwa różne sposoby:diag(matrix)
zwraca przekątną macierzy.diag(vector, nrow)
generates annrow
xnrow
matrix withvector
along the diagonal, recycling as necessary.%x%
is the Kronecker matrix product which when applied to two numbers returns their usual product.Finally,
cat
prints the diagonal out withsep
arator''
which results in the sequence.Try it online!
źródło
C, Yimin Rong
t
is multiplication,r
is exponentiation,g
is the real function. Newlines added for readability, they aren't needed.źródło
Haskell, Christian Sievers
Try it online!
źródło
__ ___=[-___-___-___,___..]!!___
R by Jarko Dubbeldam
Took me a while since I don't know R and I didn't manage to use
t
twice:Try it online!
Explanation
It uses the fact that
cos(t*pi/2)
has a period of4
int
and the sequence starts with: [1, 6.123234e-17, -1, -1.83697e-16]. As you can see the signs are correct, so we just need to normalize the values but keeping the sign - that's whatx/abs(x)
does forx != 0
.Check the source!
źródło
cos(t=scan())
wouldn't work because R can't distinguish between=
for assignment or for argument specification. In braces however, this is not a problem:cos((t=scan()))
, but this is longer thancos(t<-scan())
, so not used when golfing.*
was a red herring andcospi
actually correctly calculatescos(pi/2)=0
...and this will be 1-indexed withsin
rather thancos
CPython 3.6, by wizzwizz4 (A000002)
I manually wrote the lines up until
ll=list(dd)
, but the rest of the code was generated by this python program:The generated code could almost certainly be golfed better, but that would make the generator code more complicated.
źródło
Python 3, Mr. Xcoder
Try it online!
źródło
Python, totallyhuman
Try it online!
We really should stop posting our answers from the previous OEIS challenge :)
źródło
Python 2, Rod
Try it online!
źródło
Python 2, Bobawob
Try it online!
źródło
Python 2, totallyhuman
Try it online!
źródło
int(...)
Python 2, totallyhuman
Try it online!
źródło
Jelly, fireflame241
Try it online!
źródło