Łańcuch odpowiedzi Fibonacciego

25

(Zainspirowany 95 postaciami ASCII ... 95 cytatów filmowych )

Wyzwanie

Biorąc pod uwagę dane wejściowe n, nth wypisz liczbę Fibonacciego . Można użyć 0lub 1indeksowanie, państwo, które w swojej składania proszę. Proste, tak? Problem polega na tym, że musisz wziąć zestaw znaków z poprzedniej poprzedniej odpowiedzi, usunąć z niego dwa znaki i dodać osobny znak. Oddzielny znak musi

  • nie mogą pochodzić z zestawu znaków poprzedniej poprzedniej odpowiedzi
  • być z zestawu (drukowalny ASCII, spacja, nowa linia, tabulator poziomy)

a zatem twój całkowity rozmiar zestawu znaków będzie dokładnie o jeden mniejszy niż zestaw bezpośredniej poprzedniej odpowiedzi.

Pierwsza odpowiedź

Pierwsze zgłoszenie musi zawierać podzbiór (wszystkie ASCII do wydruku, spacja, znak nowej linii i tabulator poziomy) z usuniętymi dwoma znakami. Każde późniejsze przesłanie musi ograniczyć odpowiedzi do tego oryginalnego formatu tylko ASCII (co oznacza, że ​​nie można dodać znaku Unicode ani rozszerzonego znaku ASCII ... przepraszam Jelly, APL i in.).

Przykłady i wyjaśnienia

  • Załóżmy, że pierwsza odpowiedź jest w języku C i zawiera (prawie wszystkie ASCII do druku, nową linię %i tabulację poziomą) i pomija ^znaki z zestawu znaków. Drugi uległość, następnie należy usunąć dwie postacie z poprzedniego (prawie wszystkie druku ASCII, znak nowej linii i poziomym TAB) zestawu znaków i dodać albo %albo ^. Być może jest to jednoskładnikowa odpowiedź PowerShell, która pomija nową linię. I tak dalej.
  • Jeśli poprzednia odpowiedź zawierała print(){}!*+zestaw znaków (12 znaków), przesłanie może mieć print(){}!(10 znaków) i jeden dodatkowy znak, print(){!+(10 znaków) i jeden dodatkowy znak itp.
  • Jeśli poprzednia odpowiedź miała print(){}!*+swój zestaw znaków (12 znaków) , odtąd nie można mieć print()i &(8 znaków) jako zestawu znaków 12 - 8 > 1.
  • Jeśli poprzednia odpowiedź miała print(){}!*+swój zestaw znaków (12 znaków), przesłanie nie mogłoby mieć print(){}!(10 znaków) plus dodatkowego znaku *jako zestawu znaków, ponieważ mimo że to 11 znaków, *jest ono zawarte w poprzednim zestawie.
  • Nie każda postać w twoim zestawie postaci musi zrobić coś pożytecznego dla twojego poddania się. Na przykład, jeśli poprzednią odpowiedzią był print(){}!*+zestaw znaków, a Twój język ma wbudowaną !funkcję obliczającą sekwencję Fibonacciego i #rozpoczynającą komentarz, przesłanie może być !#print(){}i nadal jest poprawne.
  • Możesz użyć tej samej postaci z zestawu postaci wiele razy. Załóżmy na przykład, że twój zestaw znaków był !*#_, twoja odpowiedź może być !!!**#**#_!!i byłaby do zaakceptowania.
  • Oprócz swojego kodu (a także wyjaśnienia, które są miłe!) Proszę również wyraźnie wymienić swój zestaw znaków, aby ułatwić przyszłe przesyłanie.

Zwycięski

Zwycięzcą konkursu będzie osoba, która opublikowała drugie najnowsze zgłoszenie (tj. Nie osoba, która opublikowała ostatnią, ponieważ zerwała łańcuch).

Ostateczne zasady

Obowiązują reguły :

  • Ta sama osoba nie może publikować dwa razy z rzędu
  • Jeśli odpowiedź zostanie uznana za niepoprawną (na przykład użyła niedozwolonego znaku lub nie oblicza się poprawnie), należy ją usunąć (i wszelkie kolejne odpowiedzi, które z niej wynikają)
  • Dwóch użytkowników, którzy opublikują „w tym samym czasie”, będzie musiało zezwolić na wcześniejsze zgłoszenie
  • Tego samego języka nie można opublikować dwa razy z rzędu. Do celów tej reguły języki tej samej rodziny (np. Python 2 i Python 3) liczą się jako „ten sam język”.

Ostateczne rzeczy:

  • Ten post działa najlepiej, jeśli sortujesz według „Najstarsze”, aby odpowiedzi były w odpowiedniej kolejności.
  • Kyle Gullion skonstruował tutaj sprawdzanie kodu w Pythonie , aby sprawdzić, czy brakuje lub używasz niewłaściwych znaków.
AdmBorkBork
źródło
Kilka krótkich wyjaśnień: 1) Czy nasz program musi zawierać pełny zestaw, którego używamy, czy możemy użyć mniejszego zestawu znaków? (Ważne dla minimalistycznych języków, takich jak mózg (pieprzyć | flak), unary itp.) 2) Mówisz, że ten sam język nie może być opublikowany dwa razy z rzędu. Czy można opublikować ten sam język dowolną liczbę razy, o ile nie ma go pod rząd?
DJMcMayhem
1
Proponuję dodać pierwszy, ponieważ można zniszczyć to wyzwanie, jeśli opublikuje ono pierwsze
Mr. Xcoder
1
@DeadPossum Opiera się na zestawie znaków , a nie na ogólnej liczbie znaków. Usunięcie dwóch i dodanie jednego zapewnia, że ​​ewentualna pula dostępnych postaci zmniejsza się i wymusza kreatywność na przyszłe odpowiedzi.
AdmBorkBork
3
@ Mr.Xcoder Wierzę w społeczność PPCG, a jeśli ktoś celowo to popsuje, zastrzegam sobie prawo do nazywania ich szefem na czacie.
AdmBorkBork
3
Rzuciłem sprawdzanie kodu , aby ułatwić życie wszystkim zainteresowanym.
Kyle Gullion,

Odpowiedzi:

6

1. C.

Nie zawiera {lub }.

#if 1
#define Q !"$&'",./=@[]^_\`|*
int WERTYUIOPASDFGHJKLZXCVBNM34567890(qwrtyuopasghjklzxcvbm)<%
	return qwrtyuopasghjklzxcvbm<2?1:WERTYUIOPASDFGHJKLZXCVBNM34567890(~-qwrtyuopasghjklzxcvbm)+WERTYUIOPASDFGHJKLZXCVBNM34567890(qwrtyuopasghjklzxcvbm-2);
%>
#endif

Wypróbuj online!

Mam nadzieję, że zrobiłem to dobrze.

betseg
źródło
1
Dobrze strzelaj. Kilka sekund dzieli mnie od opublikowania odpowiedzi na uderzenie mózgu, a teraz jest to prawie niemożliwe. : /
DJMcMayhem
@DJMcMayhem Nie, po prostu muszę czekać na kogoś, aby dodać jeden {lub }tak można następnie dodać drugą.
AdmBorkBork
@DJMcMayhem dobrze, jeśli ktoś doda {lub }, to możesz dodać drugi i odpowiedź Brain-Flak.
betseg
1
Zauważam, że ta odpowiedź nie ma *. Czy wolno nam pomijać postacie z naszego zestawu znaków i sprawić, by nadal były „dołączane”, czy też było to przeoczenie?
Greg Martin
@gregMartin 2?1*1to naprawi.
Magic Octopus Urn
5

2. Mathematica

Nie zawiera }, Zlub zakładkę poziomą. (Ponownie włączone {.)

(* !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY
[\]^_`\abcdefghijklmnopqrstuvwxyz{|~ *)
Fibonacci

Dwie pierwsze linie to tylko komentarz; ostatni wiersz to funkcja wbudowana, wykorzystująca jedyne prawdziwe super kosmicznie uporządkowane indeksowanie, w którym wejścia 0 i 1 dają odpowiednio wyjścia 0 i 1 (nie mam pojęcia, czy nazwać to 0-indeksowanym czy 1-indeksowanym).

Greg Martin
źródło
5

8. Oktawa

Dodano Ui usunięto +oraz -. Rozwiązanie nie zawiera +-`01AEIznaku tabulacji lub nie .

% !"#$&\'*./256789:<>?BCDFGHJKLMNOPQRSTUVWXYZ\\_abceghijklnpqrstuvwyz{|}~
f=@(x)([mod(4,3) mod(4,3);mod(4,3) mod(4,4)]^x)(3)

Na podstawie matrycy Fibonacciego .

Kyle Gullion
źródło
Masz tjednak ...
Anthony Pham,
\tto sposób, w jaki znak tabulatora jest drukowany w Pythonie (którego użyłem, by sprawdzić moją odpowiedź), zmodyfikuję, aby było bardziej przejrzyste.
Kyle Gullion,
Ta matryca Fibonacciego to dobry pomysł!
Luis Mendo,
5

33, MATL

Dodano -, usunięto (). Rozwiązanie nie zawiera !&'()/\01?AEIKLMNPSTWZ`dmwz{}|~, tabulacji, spacji ani znaku nowej linii.

5X^Hq+G^Hq5X^-G^-HG^5X^*Hqqq^*Yo%"#$,.2346789:;<=>@BCDFJOQRUV[]_abcefghijklnprstuvxy

Wypróbuj w MATL Online

Poprawiono błąd: 0, 1, i \przypadkowo pozostawione w komentarzu (po %) na końcu. Ich usunięcie nie psuje funkcjonalności. Przeniesiono tę odpowiedź z 32 do 33, próbując zachować jej ważność. Jeśli trzeba go usunąć, daj mi znać, a ja to zrobię.


źródło
1
Welcpme do PPCG! :)
betseg
Dzięki, teraz jest naprawione. 0 i \ były w komentarzu na końcu (po%), a zatem ich usunięcie nie wpływa na funkcjonalność programu. Naprawdę przepraszam, że zrujnowałem łańcuch, eugh.
Być może najgładszym rozwiązaniem byłoby policzenie odpowiedzi w Pythonie 3 jako # 32, a jeśli chcesz zmienić swoją odpowiedź, aby uzyskać numer 33? Wygląda na to, że masz bohaterów do stracenia :)
Greg Martin
Prawdopodobnie powinieneś usunąć - z listy nie zawierającej, ponieważ ją dodałeś
dodałeś fəˈnɛtɪk
5

36. Java

Dodał \. Usunięte qx. Nie używa !&'()/1?AEIKLMNPSTWZ`dmnqtwxz{}|~[], tabulacji ani spacji.

\u002f\u002f"#$%*:>@BCGHJOQRUVXY^_jk
class
Fibo\u006eacci\u007b
i\u006e\u0074
fib\u0028i\u006e\u0074
\u006e\u0029\u007b
i\u006e\u0074
lo\u0077=0,high=3-2,\u0074e\u006Dp;
for\u0028i\u006e\u0074
i=3-2;i<\u006e;i++\u0029\u007b
\u0074e\u006Dp=lo\u0077;
lo\u0077=high;
high=high+\u0074e\u006Dp;
\u007D
re\u0074ur\u006e
lo\u0077;
\u007D
public
s\u0074a\u0074ic
voi\u0064
\u006Dai\u006e\u0028\u0053\u0074ri\u006eg\u005b\u005Db\u0029\u007b
Fibo\u006eacci
a=\u006ee\u0077
Fibo\u006eacci\u0028\u0029;
for\u0028i\u006e\u0074
i=3-2;i<=20;i++\u0029\u007b
\u0053ys\u0074e\u006D.ou\u0074.pri\u006e\u0074l\u006e\u0028a.fib\u0028i\u0029\u0029;
\u007D
\u007D
\u007D

Wiem, że prawdopodobnie mogłem poczekać dłużej, ale chciałem się tym upewnić, zanim będzie za późno. Ta klasa nie tylko definiuje funkcję, która przyjmuje liczbę całkowitą ni zwraca tę liczbę Fibonacciego, ale także drukuje pierwsze 20 dla zabawy. Starałem się zachować należytą staranność, pisząc to w zwykłej starej javie bez podstępnej gry w golfa, a następnie usunąłem nielegalne postacie 1 do 1, aż dotarliśmy do stworzenia, które widzisz przed sobą.

Wypróbuj online!

Szturchać
źródło
2
Właśnie dlatego chciałeś0
Christopher
Dang, wygląda na to, że zerwałeś łańcuch. :-(
AdmBorkBork
@AdmBorkBork b-ale usunąłem q i x: [Kto ich potrzebował !? Mogłem usunąć wszystko
Poke
@Poke teraz, kiedy minął tydzień, więc „wygrywam”. Teraz opublikuję jeszcze jedną odpowiedź
Christopher
@DownChristopher haha ​​aw: [
Poke
5

37. Python 2

Ponownie dodane x. Nie używa!&'()/1?AEIMNPSTWZdmnqtwz{}|~[] , spacji, tabulacji ani `. Usunięto K i L.

f=u"\u0074"
b=u"\u006D"
i=u"\u0028"
j=u"\u0029"
h=u"\u006e"
r=2.2360679775
s=u"\u002F"
exec"p="+i+"3-2+r"+j+s+"2"
exec"g=i"+h+"pu"+f+i+j
exec"pri"+h+f+i+"i"+h+f+i+i+"p**g-"+i+"-p"+j+"**-g"+j+s+"r"+j+j
#$%´:;<=>@BCGHJOQRUVXY^agklopvy

Z komentarzami:

f=u"\u0074" #t
b=u"\u006D" #m
i=u"\u0028" #(
j=u"\u0029" #)
h=u"\u006e" #n
r=2.2360679775 #sqrt(5)
s=u"\u002F" #/
exec"p="+i+"3-2+r"+j+s+"2" #p=(3-2+r)/2 = (1+sqrt(5))/2 = phi
exec"g=i"+h+"pu"+f+i+j #g=input()
exec"pri"+h+f+i+"i"+h+f+i+i+"p**g-"+i+"-p"+j+"**-g"+j+s+"r"+j+j #print(int((p**g-(-p)**-g)/r))

Podejście to wykorzystuje ogólny termin serii Fibonacciego.

staticmethod
źródło
Ładna pierwsza odpowiedź! Nie wspominając, że właśnie dodałem kolejny: P
Christopher
4

3) Brain-Flak

Nie zawiera Z, ~, Alub zakładkę poziomą. (Ponownie dołączony })

({}<(())>){({}<(({})<>)<>({}{}<<>({}<>)>)>[()])}{}{}
# !"$%&'*+,-./0123456789:;=?@BCDEFGHIJKLMNOPQRSTUVWXY\^_`abcdefghijklmnopqrstuvwxyz|

Wypróbuj online!

DJMcMayhem
źródło
4

5, Haskell

Usunięto AEIOUi dodano kartęZ

-- #!"$%&'*./23456789;:<>?@BCDFGHJKLMNPQRSTVWXYZ[\]^`abcdeghijklmopqrstuvwxyz{|}~,_
f 0 = 1
f 1 = 1
f n = f (n-1) + f (n-2)

Wypróbuj online!

ovs
źródło
3
Już cię nie lubię ... Potrzebuję 3 samogłosek. I ZOBACZYŁEM EM
Christopher
Użyłem więc innego języka
Christopher
3

12. Python 3

dodane :usunięte {;nie zawiera {};`01AEIPQxani znaku tabulacji.

#!"#$%&\',./23456789?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwyz|~:
def fib(n,a=3-2,b=3-2):
 if n==2-2:
  return a
 a, b = b, a + b
 return fib(n-1,a,b)
gonengazit
źródło
Masz na myśli, że usunąłeś {;, nie };.
L3viathan
3

6. Flak mózgu

({}<(())>){({}<(({})<>)<>({}{}<<>({}<>)>)>[()])}{}{}
# !"$%&'*+,-./0123456789:;=?@BCDFGHJKLMNOPQRSTVWXY\^bcdfghjklmnopqrstvwxyz|

Wypróbuj online! Nie używa tabAEIU`_i dodano z powrotemO

Down Christopher
źródło
Zrobiłem CW, ponieważ właśnie zmieniłem trochę kodu, więc nie dostaję nieuczciwego przedstawiciela za pracę innych.
Christopher
3

26 Prolog (SWI)

Dodał %. Usunięte NK. Nie używa &*01AEIKLMNPSTWZ`dmrwz{}], tabulacji ani nowego wiersza.

a(X,B):-X<3,B is 4-3;C is X-4-(-3),D is X-2,a(C,G),a(D,F),B is G-(-F).%!"#$'/56789=>?@HJOQRUVY[\^_bcefghjklnopqtuvxy|~

Wypróbuj online!

Emigna
źródło
3

34. pieprzenie mózgu

Dodano nową linię, usunięto ni t. Nie używa !&'()/\01?AEIKLMNPSTWZ`dmntwz{}|~, tabulacji ani spacji. (być może możemy teraz pobrać trochę języków 2D)

0-indeksowane. Wejściowe / wyjściowe wartości bajtów.

,[->]+>+<<[->>[->+<]<[->+<]>>[-<+<+>>]<<<]>>.
"#$%*23456789:;=@BCDFGHJOQRUVXY^_abcefghijklopqrsuvxy

Wypróbuj online!

Business Cat
źródło
@Poke gotowe. Dodałem go z powrotem
Christopher
2

4, Python 2

Usunięto AEIZ, dodano kartę~

# !"$%&'*-./23456789;<>?@BCDFGHJKLMNOPQRSTUVWXY[\]^`chjklmpqsvwxyz{|}

def f(x):
 a=0
 b=1
 for _ in range(x):
  a,b = a+b,a
 return a

Wypróbuj online!

Kreator pszenicy
źródło
2

11. Standardowy ML (mosml)

Dodał +. Usunięte :}. Nie zawiera :}0`1AEIPQxani znaku tabulacji.

(* !"#$%&\',./23456789;<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwyz{|~ *)
fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2)

SML nie jest tio i użyłem ml różne Moskwa, ale nie online SMLNJ interpreter tutaj .

L3viathan
źródło
2

10. C.

Dodano m, usunięto PQ. Nie zawiera+`01AEIPQx ani znaku tabulacji.

Flaga kompilatora: -lm

//!"#$%&'*346789:<=>?@BCDFGHJKLMNORSTUVWXYZ[\]^_acfghkmvyz|.

double fib(i){
    double j = -(-~-2-sqrt(5))/2;
    return floor((pow(j,i)-pow(-j,-i))/sqrt(5));
}

Wypróbuj online!

betseg
źródło
.nadal brakuje w twoim komentarzu.
L3viathan
2

9. Python 2

Dodano -, usunięto mi x. Nie zawiera +`01AEImxznaku tab lub nie .

# --!"$%&'*./29;:<>?@[\]^345678BCDFGHJKLMNOPQRSTUVWXYZabcdeghijklopqrstuvwyz{|}~,_

def fibonacci(n):
    elif n==(2/2):
        return 2-2
    elif n==2:
        return 2/2
    else:
        return fibonacci(n-2/2)-(-(fibonacci(n-2)))

Rekurencyjna funkcja Pythona! Dodaje wszystkie liczby Fibonacciego wstecz do n1.

Anthony Pham
źródło
Zapomniałeś dodać wielkich liter do kodu
Conor O'Brien
1
wygląda na to, że wciąż masz backtick i 1a zostało pominięte345678BCDFGHJKLMNOPQRSTUVWXYZ
Kyle Gullion
@KyleGullion Poprzednia odpowiedź nie zawierała ani 1, ani odwrotu w zestawie znaków
Anthony Pham
Zaproponowałem edycję, aby pokazać, co mam na myśli.
Kyle Gullion,
2

18. Oktawa

Dodano ;i usunięto foraz spację. Rozwiązanie nie zawiera {}:`*%01AEIPQfrdznaków tabulacji, znaków nowej linii i spacji.

g=@(x)([4-3,4-3;4-3,4-4]^x)(3)#!"$&'+./256789<>?BCDFGHJKLMNORSTUVWXYZ\_abcehijklmnopqstuvwyz|~

Identyczne z odpowiedzią 8 , tylko z większą nienawiścią SML: P

Kyle Gullion
źródło
Nie próbuj celowo zbyt mocno niszczyć rzeczy . Trochę przyjazna „konkurencyjna współpraca” jest fajna, ale nieokreślonym celem wyzwań związanych z łańcuchem odpowiedzi jest utrzymanie ich tak długo, jak to możliwe. :)
AdmBorkBork
1
Trochę zabawy między Octave i SML. Poza tym, myślę, że odpowiednio dobrana odpowiedź Lenguage ostatecznie zajmie ciasto.
Kyle Gullion,
2

23. Standardowy ML (mosml)

Znowu jedziemy. Dodano Q, usunięto }i ]. Nie używa %&*+01:AEILMPZ`dmrzM{}]tabulatora ani linii

fun f x = #2("!#$\\',.23456789<>?@BCDFGHJKNOQRSTUVWXY[/;^_abcgjkopqvwxy|~", if x = 2-2 then 2-2 else if x = 3-2 then 3-2 else f (~(~(x-4)-2)) + f (x-(~3-2)))
L3viathan
źródło
@Emigna Racja, przepraszam. Wtedy pozwolę Qzamiast tego.
L3viathan
2

25. CJam

Dodano z +powrotem, usunięto Si T. Nie używa %&*01AEILMPSTZ`dmrz{}]Wwtabulatora ani linii.

Basically a port of my older answer, but this one uses some eval trickery to circumvent the lack of braces.

q~"XX"a:~'|("_(j\((j+"'|)'j+++~e# !$,-./23456789;<=>?@BCDFGHJKNOQRUVY[^bcfghiklnopstuvxy

0-indexed.

Try it online!

Business Cat
źródło
2

27. JavaScript

Added *, removed " and '. Doesn't use "&'01AEIKLMNPSTZ`dmrz{}]Ww, tab, or linefeed.

f=a=>a<2?3-2:f(a-3+2)+f(a-4+2)/* !#$,.56789;%@BCDFGHJOQRUVXY[\^_bceghijklnopqstuvxy|~*/
Business Cat
źródło
2

28. Haskell

f=length"":scanl(+)(length"f")f;g=const(f!!)"#$%*,./23456789<>?@BCDFGHJOQRUVXY[\\^_bijkpquvxy|~"

Try it online! Usage: g 3 gives 2.

Added ", removed <space> and -. Does not use &'-01AEIKLMNPSTZ`dmrz{}]Ww or any white spcae.

Laikoni
źródło
2

30. Standard ML

Added :, removed + and ?. Does not contain !&'+-01?AEIKLMNPSTWZ`dmrwz{} or any white space.

fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)n;("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[]))

The first part fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)n defines a function $ which computes the nth fibonacci number itereatively using an unary list encoding. The length of argument x indicates the current number and a and b are lists of length fib(length(x)-1) and fib(length(x)). If n equals length(x) we return length(b), otherwise recursively add a and b via list concatenation and increment x by adding an element () to it.

The second part ("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[])) is a sequence where the string is discarded and $([],[()],[]) is the initialisation of the function $ with a = 0, b = 1 and x = 0, resulting in an anonymous function which computes the nth fibonacci number.

Laikoni
źródło
2

32, Python 3

exec(chr(2**2+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2+2**2+2**5+2**6)+chr(2**5)+chr(2+2**2+2**5+2**6)+chr(2**3+2**5)+chr(2**3+2**4+2**5+2**6)+chr((3^2)+2**3+2**5)+chr(2+2**3+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr((3^2)+2**5+2**6)+chr((3^2)+2**2+2**3+2**4+2**5)+chr(2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2+2**5+2**6)+chr((3^2)+2**2+2**3+2**4+2**5)+chr((3^2)+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2+2**2+2**5+2**6)+chr((3^2)+2+2**2+2**3+2**5+2**6)+chr(2+2**4+2**5+2**6)+chr(2**5)+chr((3^2)+2+2**2+2**3+2**4+2**6)+chr(2**5)+chr((3^2)+2**3+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr(2**5)+chr(2+2**4+2**5+2**6)+chr((3^2)+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr((3^2)+2+2**2+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2**3+2**5)+chr(2**3+2**4+2**5+2**6)+chr((3^2)+2**3+2**5)+chr(2+2**3+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2**5)+chr((3^2)+2**5+2**6)+chr(2**2+2**3+2**5)+chr(2+2**5+2**6)+chr(2**5)+chr((3^2)+2**2+2**3+2**4+2**5)+chr(2**5)+chr((3^2)+2**5+2**6)+chr((3^2)+2+2**3+2**5)+chr(2+2**5+2**6)+chr(2**2+2**3+2**5)+chr((3^2)+2**5+2**6)+chr(2+2**3)+chr(2**5)+chr(2+2**4+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2**2+2**4+2**5+2**6)+chr((3^2)+2**2+2**4+2**5+2**6)+chr(2+2**4+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr(2**5)+chr((3^2)+2**5+2**6))#"$%,.789:;<=>@BCDFGHJOQRUVXY[]_abfgijklnopqstuvy

Added r and removed |~. Solution contains no !&'/\-01?AEIKLMNPSTWZ`dmrwz{}|~, no tab, no newline, and no space characters.

Francisco Couzo
źródło
2

39. Python 2

Added 0. Removed @^. Doesn't use !^&'()/1?@AEIMNPSTWZdmntwz{}|~[] `, tab or newline.

C=u"f=la\u006Db\u0064a\u0020X:3-2if\u0020X<2else\u0020f\u0028X-3+2\u0029+f\u0028X-2\u0029";exec""+C#$%*,.57>BFGHJKLOQRUVY_ghjkopqrvy

Argument to exec without escape sequences:

f=lambda X:3-2if X<2else f(X-3+2)+f(X-2)

Try it online!

NieDzejkob
źródło
2

38. Matl

Added q. Removed 0 <newline>. Doesn't use !&'()/1?AEIKLM0NPSTW{Z`dmntwxz}|~[], tab, newline, or space.

5X^Hq+G^Hq5X^-G^-HG^5X^*Hqqq^*Yo%"#$,.2346789:;<=>@BCDFJORUV_abcefghijklprsuvy

Try it online

Christopher
źródło
This answer doesn't work, it contains q
Kyle Gullion
when did { get readded?
Destructible Lemon
(you still use { according to the doesn't use list)
Destructible Lemon
Answer 37 uses x, you didn't remove it, yet it's restricted. Can you add x at the end of the comment? The restricted list also says you don't use q, so you need to remove that.
NieDzejkob
Nevermind that, sent an edit
NieDzejkob
1

7, Python 2

Re-included _. Removed characters: tab and AEIU`, and (just to get a little nasty) 0 and 1. Otherwise, just a copy of Wheat Wizard's answer (hence the community wiki).

# !"$%&'*./456789;<>?@BCDFGHJKLMNOPQRSTVWXY[\]^chjklmpqsvwxyz{|}

def f(x):
 a=2-2
 b=3-2
 for _ in range(x):
  a,b = a+b,a
 return a

Try it online!

Greg Martin
źródło
1

13. Standard ML (mosml)

Added x. Removed :r. Doesn't contain :;{}0`1AEIPQr or tab character.

(* !"#$%&\',./23456789<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqvwxyz|~ *)
fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2)

After we've pretty much excluded C-style languages, let's go after Python. This answer is pretty much identical to answer 11.

L3viathan
źródło
1

14. Octave

Added r and removed newline and space. Solution contains no {}:;`01AEIPQ, no tab, no newline, and no space characters.

f=@(n)round(((2/2+sqrt(5))/2)^n/sqrt(5))%!"#$&'*-,.346789<>?BCDFGHJKLMNORSTUVWXYZ[\]_abceghijklmpvwyz|~

Based on a closed form formula (7).

Kyle Gullion
źródło
1

16. Octave

Added / and removed * and space. Solution contains no {}:;`*%01AEIPQ, no tab, no newline, and no space characters.

f=@(n)round(((2/2+sqrt(5))/2)^n/sqrt(5))#!"$&'-,.346789<>?BCDFGHJKLMNORSTUVWXYZ[\]_abceghijklmpvwyz|~

Identical to answer 14, just a straight up attack on SML and Python :P

Kyle Gullion
źródło
Well played. I see what I can do.
L3viathan
1

15. Standard ML (mosml)

Added space and removed %/. Doesn't contain {}:;`01AEIPQ, tab, or newline.

fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2) (* !"#$&\',.23456789<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwxyz|~ *)
L3viathan
źródło