Cadena de respuesta Fibonacci

25

(Inspirado por los 95 personajes de ASCII ... 95 citas de películas )

El reto

Dada entrada n, salida el nth número de Fibonacci . Puede usar cualquiera 0o 1indexación, indique cuál en su envío. Simple, si? El problema es que debe tomar el conjunto de caracteres de la respuesta anterior inmediata, eliminar dos caracteres y agregar un carácter separado. El personaje separado debe

  • no ser del conjunto de caracteres de la respuesta anterior inmediata
  • ser del conjunto de (ASCII imprimible, espacio, nueva línea, pestaña horizontal)

y, por lo tanto, el tamaño total de su conjunto de caracteres será exactamente uno más pequeño que el conjunto de respuestas anteriores inmediatas.

La respuesta inicial

El primer envío debe contener un subconjunto de (todo ASCII imprimible, espacio, nueva línea y pestaña horizontal) con dos caracteres eliminados. Cada envío posterior debe restringir sus respuestas a este formato original ASCII (lo que significa que no puede agregar un carácter Unicode o ASCII extendido ... lo siento, Jelly, APL, et al.).

Ejemplos y aclaraciones

  • Suponga que la primera respuesta está en C y contiene (casi todos los ASCII imprimibles, nueva línea y tabulación horizontal), y omite el %y ^de su conjunto de caracteres. La segunda presentación, entonces, debe eliminar dos caracteres del conjunto de caracteres anterior (casi todos imprimibles ASCII, nueva línea y pestaña horizontal) y agregar el %o ^. Quizás es una respuesta de PowerShell de una sola línea que omite la nueva línea. Y así.
  • Si la respuesta anterior tenía print(){}!*+como conjunto de caracteres (12 caracteres), su envío podría tener print(){}!(10 caracteres) y un carácter adicional, print(){!+(10 caracteres) y un carácter adicional, etc.
  • Si la respuesta anterior tenía print(){}!*+como conjunto de caracteres (12 caracteres), su envío no podría tener print()y &(8 caracteres) como su conjunto de caracteres, desde entonces 12 - 8 > 1.
  • Si la respuesta anterior tenía print(){}!*+como conjunto de caracteres (12 caracteres), su envío no podría tener print(){}!(10 caracteres) más caracteres adicionales *como su conjunto de caracteres, ya que a pesar de que son 11 caracteres, *se incluye en el conjunto anterior.
  • No todos los caracteres en su conjunto de caracteres deben hacer algo útil para su presentación. Por ejemplo, si la respuesta anterior tenía print(){}!*+como conjunto de caracteres, y su idioma tiene una función incorporada !que calcula la secuencia de Fibonacci y #que inicia un comentario, su envío podría ser !#print(){}y seguir siendo válido.
  • Puedes usar el mismo personaje de tu conjunto de personajes varias veces. Por ejemplo, supongamos que su conjunto de caracteres era !*#_, su respuesta podría ser !!!**#**#_!!y sería aceptable.
  • Además de su código (¡y una explicación también es agradable!), También enumere explícitamente su conjunto de caracteres, para que sea más fácil enviarlo en el futuro.

Victorioso

El ganador del desafío será la persona que publicó la segunda presentación más reciente (es decir, no la persona que publicó la última, ya que rompieron la cadena).

Reglas finales

Se aplican las reglas habituales :

  • La misma persona no puede publicar dos veces seguidas
  • Si una respuesta se considera inválida (por ejemplo, usó un carácter prohibido o no se calcula correctamente), debe eliminarse (y cualquier respuesta posterior que también se encadene)
  • Dos usuarios que publiquen "al mismo tiempo" deberán dejar que la presentación anterior permanezca
  • No se puede publicar el mismo idioma dos veces seguidas. A los fines de esta regla, los idiomas de la misma familia (por ejemplo, Python 2 y Python 3) cuentan como "el mismo idioma".

Cosas finales

  • Esta publicación funciona mejor si ordena por "Más antiguo" para que las respuestas estén en el orden correcto.
  • Kyle Gullion construyó un verificador de código en Python aquí para verificar si falta o usa caracteres incorrectos.
AdmBorkBork
fuente
Solo unas pocas aclaraciones rápidas: 1) ¿Nuestro programa tiene que contener el conjunto completo que estamos usando, o podemos usar un conjunto más pequeño de caracteres? (Importante para los idiomas minimalistas, como brain (fuck | flak), unary, etc.) 2) Usted dice que el mismo idioma no se puede publicar dos veces seguidas. ¿Se puede publicar el mismo idioma varias veces siempre que no esté en una fila?
DJMcMayhem
1
Le sugiero que agregue el primero, porque uno puede destruir este desafío si publica el primero
Sr. Xcoder
1
@DeadPossum Se basa en el conjunto de caracteres , no en el recuento general de caracteres. Eliminar dos y agregar uno asegura que el conjunto eventual de caracteres disponibles disminuya y fuerza la creatividad en futuras respuestas.
AdmBorkBork
3
@ Mr.Xcoder Tengo fe en la comunidad PPCG, y si alguien lo arruina a propósito, me reservo el derecho de llamarlo tonto en el chat.
AdmBorkBork
3
Lanzó un verificador de código para hacer la vida un poco más fácil para cualquier persona interesada.
Kyle Gullion

Respuestas:

6

1. C

Contiene no {o }.

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

Pruébalo en línea!

Espero haber hecho esto bien.

Betseg
fuente
1
Pues dispara. Estoy a segundos de publicar una respuesta mental, y ahora eso es prácticamente imposible. : /
DJMcMayhem
@DJMcMayhem Nah, solo tienes que esperar a que alguien agregue uno {o }para que luego puedas agregar el otro.
AdmBorkBork
@DJMcMayhem bueno, si alguien agrega {o }, entonces puedes agregar el otro y la respuesta Brain-Flak.
betseg
1
Noto que esta respuesta no tiene *. ¿Se nos permite omitir caracteres de nuestro conjunto de caracteres y hacer que sigan siendo "incluidos", o fue un descuido?
Greg Martin
@gregMartin 2?1*1solucionaría eso.
Magic Octopus Urn
5

2. Mathematica

Contiene no }, Zo pestaña horizontal. (Reincluido {)

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

Las dos primeras líneas son solo un comentario; la última línea es la función incorporada, utilizando la única indexación ordenada súper cósmicamente verdadera donde las entradas 0 y 1 producen las salidas 0 y 1 respectivamente (no tengo idea de si llamar a esto indexado 0 o indexado 1).

Greg Martin
fuente
5

8. octava

Agregado Uy eliminado +y -. La solución no contiene +-`01AEIcaracteres o tabuladores.

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

Basado en la matriz de Fibonacci .

Kyle Gullion
fuente
Sin tembargo, sí tienes ...
Anthony Pham
\tes la forma en que se imprime el carácter de tabulación en Python (que solía verificar mi respuesta), lo editaré para que quede un poco más claro.
Kyle Gullion
¡Esa matriz de Fibonacci es una buena idea!
Luis Mendo
5

33, MATL

Agregado -, eliminado (). La solución no contiene !&'()/\01?AEIKLMNPSTWZ`dmwz{}|~, tabulación, espacio o nueva línea.

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

Pruébalo en MATL Online

Error corregido: 0, 1y \fueron dejado accidentalmente en el comentario (después de la %) al final. Su eliminación no rompe la funcionalidad. Se movió esta respuesta de 32 a 33 en un intento de mantenerla válida. Si es necesario eliminarlo, avíseme y lo haré.


fuente
1
¡Bienvenido a PPCG! :)
betseg
Gracias, ya está arreglado. El 0 1 y \ estaban en el comentario al final (después del%) y, por lo tanto, su eliminación no afecta la funcionalidad del programa. Lamento mucho haber arruinado la cadena, eugh.
¿Quizás la solución más sencilla sería contar la respuesta de Python 3 como # 32, y que usted altere la suya para que sea la # 33? Parece que tienes personajes de sobra :)
Greg Martin
Probablemente debería eliminar el - de la lista no contiene desde que lo agregó
fəˈnɛtɪk
5

36. Java

Añadido \. Eliminado qx. No usa !&'()/1?AEIKLMNPSTWZ`dmnqtwxz{}|~[]tabulación ni espacio.

\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

Sé que probablemente podría haber esperado más pero quería asegurarme de sacar esto antes de que fuera demasiado tarde. Esta clase no solo define una función que toma un número entero ny devuelve ese número de Fibonacci, sino que también imprime los primeros 20 por diversión. Traté de hacer mi debida diligencia escribiendo esto en un viejo java simple sin jugar al golf furtivo y luego eliminé los caracteres ilegales 1 por 1 hasta que llegamos a la criatura que ves antes que tú.

Pruébalo en línea!

Meter
fuente
2
Entonces esa es la razón por la que querías0
Christopher
Dang, parece que rompiste la cadena. :-(
AdmBorkBork
@AdmBorkBork b-pero eliminé q y x: [¿Quién los necesitaba? Podría haber eliminado cualquier cosa
Poke
@Poke ahora que ha pasado una semana, así que "gano". Ahora para publicar una respuesta más
Christopher
@DownChristopher jaja aw: [
Poke
5

37. Python 2

Readded x. No utiliza !&'()/1?AEIMNPSTWZdmnqtwz{}|~[], espacio, tabulación o `. Se eliminaron K y 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

Con comentarios:

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))

Este enfoque utiliza el término general de la serie de Fibonacci.

método estático
fuente
Buena primera respuesta! Sin mencionar que acabo de agregar otro: P
Christopher
4

3. Brain-Flak

No contiene Z, ~, A, o pestaña horizontal. (Re-incluido })

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

Pruébalo en línea!

DJMcMayhem
fuente
4

5, Haskell

Eliminado AEIOUy pestaña, agregadaZ

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

Pruébalo en línea!

ovs
fuente
3
Ya no me gustas ... Necesito 3 vocales. Y TOMAS EM
Christopher
Así que usé un idioma diferente
Christopher
3

12. Python 3

agregado :eliminado {;no contiene {};`01AEIPQxcaracteres de tabulación.

#!"#$%&\',./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
fuente
Quieres decir que te quitaste {;, no };.
L3viathan
3

6. Brain-Flak

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

Pruébalo en línea! No usa tabAEIU`_, y volvió a agregarO

Christopher
fuente
Hice CW ya que acabo de cambiar un poco el código para no tener un representante injusto para que otros trabajen.
Christopher
3

26. Prólogo (SWI)

Añadido %. Eliminado NK. No utiliza &*01AEIKLMNPSTWZ`dmrwz{}], pestaña o nueva línea.

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|~

Pruébalo en línea!

Emigna
fuente
3

34. brainfuck

Nueva línea agregada, eliminada ny t. No usa !&'()/\01?AEIKLMNPSTWZ`dmntwz{}|~tabulación ni espacio. (tal vez podamos obtener algunos lenguajes 2D ahora)

0 indexado. La entrada / salida es por valores de byte.

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

Pruébalo en línea!

Gato de negocios
fuente
@Poke hecho. Lo agregué de nuevo
Christopher
2

4, Python 2

Eliminado AEIZ, pestaña agregada~

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

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

Pruébalo en línea!

Asistente de trigo
fuente
2

11. ML estándar (mosml)

Añadido +. Eliminado :}. No contiene :}0`1AEIPQxcaracteres o tabuladores.

(* !"#$%&\',./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 no está en TIO, y utiliza la variedad de Moscú ml, pero no hay un intérprete SMLNJ en línea aquí .

L3viatán
fuente
2

10. C

Agregado m, eliminado PQ. No contiene +`01AEIPQxcaracteres o tabuladores.

Indicador del compilador: -lm

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

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

Pruébalo en línea!

Betseg
fuente
.aún falta en tu comentario.
L3viathan
2

9. Python 2

Agregado -, eliminado my x. Contiene no +`01AEImxo carácter de tabulación.

# --!"$%&'*./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)))

¡Función recursiva de Python! Agrega todos los números de Fibonacci al revés hasta que nsea ​​1.

Anthony Pham
fuente
Olvidó agregar las letras mayúsculas a su código
Conor O'Brien
1
parece que todavía tienes un backtick y a 1y te 345678BCDFGHJKLMNOPQRSTUVWXYZ
quedaste
@KyleGullion Sin embargo, la respuesta anterior no tenía 1 o retroceso en su conjunto de caracteres
Anthony Pham el
He hecho una sugerencia de edición para mostrar lo que quiero decir.
Kyle Gullion el
2

18. octava

Agregado ;y eliminado fy espacio. La solución contiene no {}:`*%01AEIPQfrd, sin tabulación, sin nueva línea y sin caracteres de espacio.

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

Idéntico a la respuesta 8 , solo que con más odio SML: P

Kyle Gullion
fuente
No intentes romper demasiado las cosas a propósito . Un poco de "cooperación competitiva" amigable es agradable, pero el objetivo no declarado de los desafíos de encadenamiento de respuestas es mantenerlos en funcionamiento el mayor tiempo posible. :)
AdmBorkBork
1
Solo un poco de diversión entre Octave y SML. Además, una respuesta de Lenguaje bien oportuna tomará el pastel, creo.
Kyle Gullion
2

23. ML estándar (mosml)

Ahí vamos de nuevo. Agregado Q, eliminado }y ]. No utiliza %&*+01:AEILMPZ`dmrzM{}], tabula o salto de línea

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)))
L3viatán
fuente
@Emigna Correcto, lo siento. Entonces lo permitiré en su Qlugar.
L3viathan
2

25. CJam

Añadido de +nuevo, eliminado Sy T. No usa %&*01AEILMPSTZ`dmrz{}]Wwtabulación ni salto de línea.

Básicamente es un puerto de mi respuesta anterior, pero esta utiliza algunos trucos de evaluación para evitar la falta de llaves.

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

0 indexado.

Pruébalo en línea!

Gato de negocios
fuente
2

27. JavaScript

Agregado *, eliminado "y '. No usa "&'01AEIKLMNPSTZ`dmrz{}]Wwtabulación ni salto de línea.

f=a=>a<2?3-2:f(a-3+2)+f(a-4+2)/* !#$,.56789;%@BCDFGHJOQRUVXY[\^_bceghijklnopqstuvxy|~*/
Gato de negocios
fuente
2

28. Haskell

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

Pruébalo en línea! Uso: g 3da 2.

Agregado ", eliminado <space>y -. No utiliza &'-01AEIKLMNPSTZ`dmrz{}]Wwni ninguna spcae blanca.

Laikoni
fuente
2

30. ML estándar

Agregado :, eliminado +y ?. No contiene !&'+-01?AEIKLMNPSTWZ`dmrwz{}ni ningún espacio en blanco.

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

La primera parte fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)ndefine una función $que calcula el nnúmero de fibonacci th iterativamente usando una codificación de lista unaria. La longitud del argumento xindica el número actual y ay bson listas de longitud fib(length(x)-1)y fib(length(x)). Si nes igual length(x), retornamos length(b), de lo contrario agregamos recursivamente ay bmediante una concatenación e incremento xde lista agregando un elemento ().

La segunda parte ("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[]))es una secuencia donde la cadena se descarta y $([],[()],[])es la inicialización de la función $con a = 0, b = 1y x = 0, lo que resulta en una función anónima que calcula el enésimo número de Fibonacci.

Laikoni
fuente
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

Agregado ry eliminado |~. La solución contiene no !&'/\-01?AEIKLMNPSTWZ`dmrwz{}|~, sin tabulación, sin nueva línea y sin caracteres de espacio.

Francisco Couzo
fuente
2

39. Python 2

Añadido 0. Eliminado @^. No utiliza !^&'()/1?@AEIMNPSTWZdmntwz{}|~[] `, pestaña o nueva línea.

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

Argumento para ejecutar sin secuencias de escape:

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

Pruébalo en línea!

NieDzejkob
fuente
2

38. Matl

Añadido q. Eliminado 0 <newline>. No usa !&'()/1?AEIKLM0NPSTW{Z`dmntwxz}|~[]tabulación, nueva línea o espacio.

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

Pruébalo en línea

Christopher
fuente
Esta respuesta no funciona, contieneq
Kyle Gullion
¿Cuándo {se leyó?
Destructible Lemon
(todavía usa {según la lista de no usar)
Destructible Lemon
Responde 37 usos x, no lo eliminó, pero está restringido. ¿Puedes agregar x al final del comentario? La lista restringida también dice que no usa q, por lo que debe eliminar eso.
NieDzejkob
No importa eso, envió una edición
NieDzejkob
1

7, Python 2

Re-incluido _. Caracteres eliminados: tab y AEIU`, y (solo para ponerse un poco desagradable) 0y 1. De lo contrario, solo una copia de la respuesta de Wheat Wizard (de ahí el wiki de la comunidad).

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

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

Pruébalo en línea!

Greg Martin
fuente
1

13. ML estándar (mosml)

Añadido x. Eliminado :r. No contiene :;{}0`1AEIPQrcaracteres o tabuladores.

(* !"#$%&\',./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)

Después de haber excluido prácticamente los lenguajes de estilo C, veamos Python. Esta respuesta es bastante idéntica a la respuesta 11.

L3viatán
fuente
1

14. octava

Se agregó ry eliminó nueva línea y espacio. La solución no contiene{}:;`01AEIPQ , sin tabulación, sin nueva línea y sin caracteres de espacio.

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

Basado en una fórmula de forma cerrada (7) .

Kyle Gullion
fuente
1

dieciséis. octava

Agregado /y eliminado * y espacio. La solución contiene no {}:;`*%01AEIPQ, sin tabulación, sin nueva línea y sin caracteres de espacio.

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

Idéntico a la respuesta 14 , solo un ataque directo a SML y Python: P

Kyle Gullion
fuente
Bien jugado. Ya veo lo que puedo hacer.
L3viathan
1

15. ML estándar (mosml)

Espacio añadido y eliminado %/. No contiene {}:;`01AEIPQ, pestaña o nueva línea.

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|~ *)
L3viatán
fuente