Chaîne de réponse Fibonacci


25

(Inspiré des 95 caractères de l'ASCII ... 95 citations de films )

Le défi

Étant donné l'entrée n, la sortie du nth numéro de Fibonacci . Vous pouvez utiliser soit 0ou l' 1indexation, veuillez indiquer lequel dans votre soumission. C'est simple, non? Le hic, c'est que vous devez prendre le jeu de caractères de la réponse précédente immédiate, en retirer deux caractères et ajouter un caractère distinct. Le caractère séparé doit

  • ne pas être du jeu de caractères de la réponse précédente immédiate
  • provenir de l'ensemble de (ASCII imprimable, espace, nouvelle ligne, onglet horizontal)

et ainsi la taille totale de votre jeu de caractères sera exactement une plus petite que celle de la réponse précédente immédiate.

La réponse initiale

La première soumission doit contenir un sous-ensemble de (tous ASCII imprimables, espace, nouvelle ligne et onglet horizontal) avec deux caractères supprimés. Chaque soumission par la suite doit limiter ses réponses à ce format original ASCII uniquement (ce qui signifie que vous ne pouvez pas ajouter de caractère Unicode ou ASCII étendu ... désolé Jelly, APL, et al.).

Exemples et clarifications

  • Supposons que la première réponse soit en C et contient (presque tous les ASCII imprimables, les sauts de ligne et les onglets horizontaux), et omet le %et ^de son jeu de caractères. La deuxième soumission doit donc supprimer deux caractères du jeu de caractères précédent (presque tous ASCII imprimables, nouvelle ligne et onglet horizontal) et ajouter le %ou ^. C'est peut-être une réponse PowerShell à une ligne qui omet la nouvelle ligne. Etc.
  • Si la réponse précédente avait print(){}!*+pour jeu de caractères (12 caractères), votre soumission pourrait avoir print(){}!(10 caractères) et un caractère supplémentaire, print(){!+(10 caractères) et un caractère supplémentaire, etc.
  • Si la réponse précédente avait print(){}!*+comme jeu de caractères (12 caractères), votre soumission ne pourrait pas avoir print()et &(8 caractères) comme jeu de caractères, depuis 12 - 8 > 1.
  • Si la réponse précédente avait print(){}!*+comme jeu de caractères (12 caractères), votre soumission ne pourrait pas avoir print(){}!(10 caractères) plus un caractère supplémentaire *comme jeu de caractères, car même s'il s'agit de 11 caractères, le *est inclus dans le jeu précédent.
  • Tous les personnages de votre jeu de caractères ne doivent pas nécessairement faire quelque chose d'utile pour votre soumission. Par exemple, si la réponse précédente avait print(){}!*+pour jeu de caractères et que votre langue possède une fonction intégrée !qui calcule la séquence de Fibonacci et #qui commence un commentaire, votre soumission pourrait être !#print(){}et être toujours valide.
  • Vous pouvez utiliser plusieurs fois le même personnage de votre jeu de caractères. Par exemple, supposons que votre jeu de caractères soit !*#_, votre réponse pourrait être !!!**#**#_!!et serait acceptable.
  • En plus de votre code (et une explication est bien aussi!), Veuillez également lister explicitement votre jeu de caractères, pour le rendre plus facile pour les futures soumissions.

Gagnant

Le gagnant du défi sera la personne qui a publié la deuxième soumission la plus récente (c.-à-d. Pas la personne qui a posté la dernière fois, car elle a rompu la chaîne).

Règles finales

Les règles habituelles s'appliquent:

  • La même personne ne peut pas poster deux fois de suite
  • Si une réponse est jugée invalide (par exemple, elle a utilisé un caractère interdit ou ne se calcule pas correctement), elle doit être supprimée (et toutes les réponses ultérieures qui en découlent également)
  • Deux utilisateurs qui publient "en même temps" devront laisser la soumission antérieure
  • La même langue ne peut pas être publiée deux fois de suite. Aux fins de cette règle, les langues de la même famille (par exemple, Python 2 et Python 3) comptent comme «la même langue».

Dernières choses:

  • Ce message fonctionne mieux si vous triez par "le plus ancien" afin que les réponses soient dans le bon ordre.
  • Kyle Gullion a construit un vérificateur de code en Python ici pour vérifier si vous manquez ou utilisez des caractères incorrects.

Juste quelques précisions rapides: 1) Notre programme doit-il réellement contenir l'ensemble complet que nous utilisons, ou pouvons-nous utiliser un ensemble de caractères plus petit? (Important pour les langues minimalistes, comme le cerveau (fuck | flak), unaire, etc.) 2) Vous dites que la même langue ne peut pas être affichée deux fois de suite. La même langue peut-elle être affichée un certain nombre de fois tant qu'elle n'est pas consécutive?
DJMcMayhem

1
Je vous suggère d'ajouter le premier, car on peut détruire ce défi s'il affiche le premier
M. Xcoder

1
@DeadPossum Il est basé sur le jeu de caractères et non sur le nombre total de caractères. La suppression de deux et l'ajout d'un garantissent que l'éventuel pool de personnages disponibles diminue et force la créativité sur les réponses futures.
AdmBorkBork

3
@ Mr.Xcoder J'ai confiance en la communauté PPCG, et si quelqu'un le gâche délibérément, je me réserve le droit de l'appeler un doody-head dans le chat.
AdmBorkBork

3
Jeté un vérificateur de code pour rendre la vie un peu plus facile à toute personne intéressée.
Kyle Gullion

Réponses:


6

1. C

Ne contient ni {ou }.

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

Essayez-le en ligne!

J'espère que j'ai bien fait ça.


1
Eh bien, tire. Il me reste quelques secondes pour poster une réponse cérébrale, et maintenant c'est à peu près impossible. : /
DJMcMayhem

@DJMcMayhem Nah, il faut juste attendre que quelqu'un en ajoute un {ou }vous pouvez ensuite ajouter l'autre.
AdmBorkBork

@DJMcMayhem bien, si quelqu'un ajoute {ou }, alors vous pouvez ajouter l'autre et la réponse Brain-Flak.
betseg

1
Je remarque que cette réponse n'a pas *. Sommes-nous autorisés à omettre des caractères de notre jeu de caractères et à les avoir toujours "inclus", ou était-ce un oubli?
Greg Martin

@gregMartin résoudrait 2?1*1cela.
Urne de poulpe magique

5

2. Mathematica

Ne contient pas }, Zou tabulation horizontale. (Réinclus {.)

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

Les deux premières lignes ne sont qu'un commentaire; la dernière ligne est la fonction intégrée, utilisant la seule True True Super Cosmically Ordained Indexing où les entrées 0 et 1 donnent respectivement les sorties 0 et 1 (je ne sais pas si j'appelle ceci indexé 0 ou indexé 1).


5

8. Octave

Ajouté Uet supprimé +et -. La solution ne contient aucun +-`01AEIcaractère de tabulation ou.

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

Basé sur la matrice de Fibonacci .


Vous avez tquand même ...
Anthony Pham

\test la façon dont le caractère de tabulation est imprimé en Python (que j'ai utilisé pour vérifier ma réponse), je vais modifier pour le rendre un peu plus clair.
Kyle Gullion

Cette matrice de Fibonacci est une bonne idée!
Luis Mendo

5

33, MATL

Ajouté -, supprimé (). La solution ne contient ni !&'()/\01?AEIKLMNPSTWZ`dmwz{}|~tabulation, ni espace ni nouvelle ligne.

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

Essayez-le sur MATL Online

Erreur fixe: 0, 1et \ont été accidentellement laissé dans le commentaire (après %) à la fin. Leur suppression ne rompt pas la fonctionnalité. Déplacement de cette réponse de 32 à 33 pour tenter de la maintenir valide. S'il doit être supprimé, faites-le moi savoir et je le ferai.


1
Bienvenue à PPCG! :)
betseg

Merci, c'est réparé maintenant. Les 0 1 et \ étaient dans le commentaire à la fin (après le%) et donc leur suppression n'affecte pas la fonctionnalité du programme. Je suis vraiment désolé d'avoir ruiné la chaîne, euh.

La solution la plus simple serait peut-être de compter la réponse Python 3 comme # 32, et pour vous de modifier la vôtre pour la rendre # 33? On dirait que vous avez des personnages à revendre :)
Greg Martin

Vous devriez probablement supprimer le - de la liste ne contient pas depuis que vous l'avez ajouté
fəˈnɛtɪk

5

36. Java

Ajouté \. Supprimé qx. N'utilise ni !&'()/1?AEIKLMNPSTWZ`dmnqtwxz{}|~[]tabulation ni espace.

\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

Je sais que j'aurais probablement pu attendre plus longtemps, mais je voulais m'assurer de le faire sortir avant qu'il ne soit trop tard. Non seulement cette classe définit une fonction qui prend un entiern et renvoie ce nombre de Fibonacci, mais elle imprime également les 20 premiers pour vous juste pour le plaisir. J'ai essayé de faire preuve de diligence raisonnable en écrivant ceci en java simple et sans golf sournois, puis j'ai supprimé les personnages illégaux 1 par 1 jusqu'à ce que nous arrivions à la créature que vous voyez devant vous maintenant.

Essayez-le en ligne!


2
Voilà pourquoi vous vouliez0
Christopher

Dang, on dirait que tu as cassé la chaîne. :-(
AdmBorkBork

@AdmBorkBork b-mais j'ai supprimé q et x: [Qui en avait besoin!? J'aurais pu enlever n'importe quoi
Poke

@Poke maintenant que ça fait une semaine donc je "gagne". Maintenant, pour poster une réponse de plus
Christopher

@DownChristopher haha ​​aw: [
Poke

5

37. Python 2

Readded x. N'utilise pas !&'()/1?AEIMNPSTWZdmnqtwz{}|~[], espace, tabulation ou `. Suppression de K et 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

Avec commentaires:

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

Cette approche utilise le terme général de la série fibonacci.


Belle première réponse! Sans oublier que j'en ai ajouté un autre: P
Christopher

4

3. Brain-Flak

Ne contient pas Z, ~, Aou tabulation horizontale. (Re-inclus })

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

Essayez-le en ligne!


4

5, Haskell

Supprimé AEIOUet onglet, ajoutéZ

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

Essayez-le en ligne!


3
Je ne t'aime plus ... J'ai besoin de 3 voyelles. ET VOUS AVEZ PRIS EM
Christopher

J'ai donc utilisé une langue différente
Christopher

3

12. Python 3

ajouté :supprimé {;ne contient pas de {};`01AEIPQxcaractère de tabulation.

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

Vous voulez dire que vous avez supprimé {;, non };.
L3viathan

3

6. Brain-Flak

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

Essayez-le en ligne! N'utilise pas tabAEIU`_et ajouté en arrièreO


J'ai fait CW depuis que je viens de changer un peu du code, donc je ne reçois pas de représentant injuste pour le travail des autres.
Christopher

3

26. Prolog (SWI)

Ajouté %. Supprimé NK. N'utilise pas &*01AEIKLMNPSTWZ`dmrwz{}], tabulation ou nouvelle ligne.

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

Essayez-le en ligne!


3

34. brainfuck

Ajout d'une nouvelle ligne, suppression net t. N'utilise pas!&'()/\01?AEIKLMNPSTWZ`dmntwz{}|~ tabulation ni espace. (peut-être que nous pouvons obtenir des langues 2D maintenant)

0 indexé. L'entrée / sortie est des valeurs d'octets.

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

Essayez-le en ligne!


@Poke terminé. Je l'ai rajouté
Christopher


2

11. ML standard (mosml)

Ajouté +. Supprimé :}. Ne contient :}0`1AEIPQxni tabulation.

(* !"#$%&\',./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 n'est pas sur TIO, et j'ai utilisé la variété moscow ml, mais il y a un interprète en ligne SMLNJ ici .


2

10. C

Ajouté m, supprimé PQ. Ne contient +`01AEIPQxni tabulation.

Drapeau du compilateur: -lm

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

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

Essayez-le en ligne!


.manque toujours dans votre commentaire.
L3viathan

2

9. Python 2

Ajouté -, supprimé met x. Ne contient aucun +`01AEImxcaractère de tabulation ou.

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

Fonction Python récursive! Ajoute tous les nombres de Fibonacci en arrière jusqu'à ce que nsoit 1.


Vous avez oublié d'ajouter les lettres majuscules à votre code
Conor O'Brien

1
on dirait que vous avez encore un backtick et un 1et laissé de côté345678BCDFGHJKLMNOPQRSTUVWXYZ
Kyle Gullion

@KyleGullion La réponse précédente n'avait cependant pas de 1 ou de backtick dans son jeu de caractères
Anthony Pham

J'ai fait une suggestion d'édition pour montrer ce que je veux dire.
Kyle Gullion

2

18. Octave

Ajout ;et suppression fet espace. La solution ne contient aucun {}:`*%01AEIPQfrd, aucun onglet, aucune nouvelle ligne et aucun espace.

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

Identique à la réponse 8 , juste avec plus de haine SML: P


N'essayez pas délibérément de casser trop les choses. Une petite "coopération compétitive" amicale est agréable, mais l'objectif non défini des défis de chaînage des réponses est de les faire durer le plus longtemps possible. :)
AdmBorkBork

1
Juste un peu de plaisir entre Octave et SML. D'ailleurs, une réponse en Lenguage bien synchronisée prendra finalement le gâteau je pense.
Kyle Gullion

2

23. ML standard (mosml)

Nous y revoilà. Ajouté Q, supprimé }et ]. N'utilise pas %&*+01:AEILMPZ`dmrzM{}], tabule ou saut de ligne

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

@Emigna Bien, désolé. Ensuite, je permettrai à la Qplace.
L3viathan

2

25. CJam

Ajouté en +arrière, supprimé Set T. N'utilise pas %&*01AEILMPSTZ`dmrz{}]Ww, tabulation ou saut de ligne.

Fondamentalement, un port de ma réponse plus ancienne, mais celui-ci utilise une astuce eval pour contourner le manque d'accolades.

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

0 indexé.

Essayez-le en ligne!


2

27. JavaScript

Ajouté *, supprimé "et '. N'utilise pas "&'01AEIKLMNPSTZ`dmrz{}]Ww, tabulation ou saut de ligne.

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

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.


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.


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.


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!


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


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!


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.


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


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


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|~ *)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.