Vue d'ensemble
Considérez la tâche suivante:
Avec un entier positif n> 0 , indiquez sa racine carrée entière. La racine carrée entière d'un nombre n est la plus grande valeur de x où x 2 ≤ n , généralement exprimée par la formule
floor(sqrt(n))
.Exemples:
25 -> 5
,24 -> 4
,40 -> 6
,1 -> 1
.
Cette tâche est assez simple en soi. Toutefois, dans le cadre de ce défi, votre tâche consiste à résoudre le problème dans autant de langues que possible en utilisant un jeu de 25 caractères seulement .
Exemple
Tout d'abord, vous devez choisir un ensemble (pas de doublons) de 25 octets. Cela peut ressembler à quelque chose comme ça (notez l’espace de gauche):
()*-.05:=>Mabdhilmnqrst|
Votre défi consiste alors, en utilisant uniquement les caractères de cet ensemble, à élaborer une solution au problème dans autant de langues à base de texte (pardon, Piet) que possible. Vous pouvez utiliser des caractères autant de fois que nécessaire, mais vous ne devez pas utiliser de caractères en dehors de l'ensemble.
Les solutions peuvent être des programmes complets ou des fonctions , mais pas des extraits. Par exemple, en utilisant cet ensemble de caractères, je pourrais faire:
M -> (int) Math.sqrt(M) // Java (lambda expression)
M => Math.sqrt(M)|0 // Javascript (unnamed function)
lambda M: int(M**.5) // Python (lambda function)
Comme j'ai utilisé 3 langues, cela me donnerait un score de 3 .
Veuillez également inclure l'ensemble d'octets que vous utilisez dans votre réponse.
Règles
- Ceci est un rosetta-pierre défi - votre score est le nombre de langues de votre soumission comprend. Le score le plus élevé gagne. Les failles standard s'appliquent.
- Pour ce défi, un «langage» compte comme un langage de programmation distinctement différent: plusieurs versions du même langage (Python 2, Python 3, etc.) sont interdites.
- Les programmes doivent uniquement fonctionner pour les entrées comprises dans la plage d'entiers standard de la langue.
- Les programmes avec exactement le même code source (polyglots) ne sont pas autorisés.
- Pour être plus précis, il s’agit d’un ensemble d’ octets et non de caractères - vous pouvez donc utiliser le 05AB1E
£
et la geléeɱ
comme le même caractère (car ils ont le même code de code).
S'il vous plaît, ne vous sentez pas obligé de battre toutes les autres solutions. Si vous avez une réponse intéressante, postez-la!
P3 10 10 255
...)[]<>.,+-
distinctement de Brainfuck? Qu'en est-il de SNUSP , un dérivé de Brainfuck 2D? Pour les deux, le code résultant ne fonctionnerait pas dans Brainfuck.Réponses:
20 langues
Utilisation
()-#*.05;=>^Vefikloqrst
(24 caractères) jusqu'à présent:la source
flr.(tt ^.5)
pour Wonder (pas de caractères ajoutés).{}[]
vous pouvez ajouter Brain-Flak. Voici le programme~
, vous pouvez le fairesqrt~~
dans Stacked ; il prend en entrée le TOS et laisse la sortie sur la pile.isqrt
isqrt
Julia ne compterait pas parce que les polyglottes ne sont pas autorisés.10 langues
Jeu de caractères de 19 caractères (dans CP-1252 ):
Où
␊
représente un saut de ligne et le␍
représente un retour à la ligne .( Script pour vérifier les caractères )
Gelée, 2 octets
Essayez-le en ligne!
05AB1E, 2 octets
Essayez-le en ligne!
GS2, 2 octets
Essayez-le en ligne!
Jolf, 3 octets
Essayez-le ici! (fonctionne mieux sur Firefox)
Japt, 2 octets
Essayez-le ici!
MATL, 3 octets
Essayez-le en ligne!
Pyke, 3 octets
Essayez-le ici!
Pyth, 6 octets
Essayez-le ici!
Oasis, 6 octets
Essayez-le en ligne!
2sable, 9 octets
Essayez-le en ligne!
la source
cU
travaille également à Jolf.c
à la liste des caractères. Il utilise déjà à la foism
(dans la sous-réponse Oasis) etf
(dans les sous-réponses Japt et Pyke).5 langues
Va ajouter plus de langues bientôt.
Jeu de caractères (22 octets):
Pyth
Javascript
Réellement
CJam
Python
la source
|
par^
dans votre réponse JavaScript pour enregistrer un octet dans votre jeu de caractères.5 langues
18 caractères.
J'essaie de ne pas utiliser de caractères alphabétiques ...
Brainfuck , Brainfuck ++ , Brainfuck-ng , Braintrust , ...
Ne fonctionne pas pour fini
224
car256
(= (sqrt (225) +1) ^ 2) déborde.Remplacé tous les
-
s par+
s pour utiliser un caractère de moins. (par exemple-
-> 255+
s)Programme original
Flak cérébrale
Le code de @ WheatWizard. Merci pour la permission!
Cerveau-Flueue
Un autre code @ WheatWizard.
Numberwang
Cuillère
Par méta-consensus, ce code devrait être correct, même si aucun interprète n'est actuellement disponible.
la source
5 langues
Utilisation
()*/12 dlinpqrstu
et nouvelle ligne (18 caractères) jusqu'à présent.Common Lisp
Une fonction intégrée.
QBasic
Python 3
Python 3 utilisé pour la division en virgule flottante sans point décimal.
Pépin
Inutilement golfy pour montrer l'opérateur d'inversion unaire
/
. Prend les commentaires de stdin. Essayez-le en ligne!tinylisp
sqrt
est une fonction d'assistance dont les arguments sont: la supposition actuellen
, lan
quadrature et leinput
nombre. Siinput
est inférieur ànsqr
, nous sommes allés trop loin, retournez doncn
moins 1; sinon, recurse, en ajoutant 1 àn
et en ajoutantn + n + 1
ànsqr
. (Le calcul est un peu compliqué, car tinylisp n'a qu'une soustraction intégrée.) La deuxième ligne définit notre fonction réelle, qui prend une simpleinput
et renvoie le résultat desqrt
avec un point den
départ égal à 1.la source
{}[]
vous pouvez ajouter Brain-Flak. Voici le programme6 langues
Utilisation
retun flosq(agm1)\,i
et extension des points de codeB1
etBC
jusqu'à présent pour 22 octets.Langue GameMaker
Pyke
Julia
Érable
Coincé
TI-Basic (vidage hexadécimal)
Notez que 0x72 est
r
en ASCII.la source
7 langues
24
caractères:CJam
Java
Code de chaîne
Math ++
Sourire
Coincé
Unilinéaire
R
Coûte trop d'octets
Python
la source
R
:sqrt