var QUESTION_ID=113448,OVERRIDE_USER=64499;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Réponses:
ArnoldC ,
299283 octetsCette sortie
1
(ce qui est la vérité) pour une entrée impaire et0
(ce qui est faux) pour une entrée paire.Essayez-le en ligne!
" Maintenant, c'est le plan " (Une tentative d'explication)
Le code lit l'entrée dans la variable
i
, la remplace par le résultat de modulo 2, puis l'imprime.la source
BULLSHIT
YOU HAVE NO RESPECT FOR LOGIC
GET TO THE CHOPPER
GET YOUR ASS TO MARS
...Je n'ai pas de mots.brainfuck , 8 octets
L'entrée est unaire. La sortie est le 1 (vérité) pour les nombres impairs et NUL (falsy) pour les nombres pairs.
Essayez-le en ligne!
Comment ça fonctionne
Nous commençons par incrémenter la cellule actuelle
+
pour pouvoir entrer dans la boucle while[,>,]
.Dans chaque itération,
,
lit un octet dans STDIN,>
avance vers la cellule à droite, puis,
lit un autre octet dans STDIN. Lorsque l'entrée est épuisée, l'interprète (celui de TIO, de toute façon) définit la cellule sur NUL . Une fois que cela se produit, la condition de la boucle while n'est plus remplie et nous en sortons.Soit n le nombre entier en entrée. S'il y a un nombre pair d'octets d'entrée, c'est-à-dire si n est pair, les n / 2 premières itérations liront deux 1 , et la prochaine itération lira deux NUL , en laissant la bande comme suit.
<.
retrocède une cellule et imprime son contenu en envoyant un octet NUL à STDOUT.Cependant, s'il y a une quantité étrange d'octets d'entrée, les premières (n - 1) / 2 itérations liront deux 1 , et la prochaine itération lira un 1 et un NUL , en laissant la bande comme suit.
<
va maintenant revenir à une cellule contenant l'octet / caractère 1 , qui est.
imprimé.la source
Mathematica, 4 octets
Donne
True
des entrées étranges etFalse
même des entrées, qui savait?Il y a aussi
EvenQ
, mais qui voudrait taper tout ça?la source
2∣#&
travaille aussiQ
t -il ?Taxi ,
1 482 12901 063 10291 009 octetsJe n'avais jamais écrit de programme dans Taxi et je suis novice en programmation de général, il y a donc probablement de meilleures façons de s'y prendre. J'ai vérifié les erreurs et réussi à jouer au golf en essayant différents itinéraires qui ont le même résultat. Je me félicite de toute révision.
Retourne
0
pour pair et1
pour impair.Essayez-le en ligne!
Vous avez raison, c'est affreux de lire sans sauts de ligne. Voici une version formatée:
Voici ma meilleure tentative pour expliquer la logique:
Ne pas retourner dans le garage à taxis provoque une sortie vers STDERR, mais cela me convient .
la source
Retina , 8 octets
Une réponse de rétine pour la saisie décimale. C’est aussi une solution de regex simple qui fonctionne dans presque toutes les saveurs de regex. Correspondances (et impressions
1
) pour les entrées paires et ne correspond pas (et impressions0
) pour les entrées impaires.Essayez-le en ligne!
Une alternative, également pour 8 octets, utilise une étape de translittération pour transformer tous les chiffres pairs en chiffres.
x
premier (car les étapes de translittération ont une fonction intégrée pour les chiffres pairs / impairs):Bien entendu, le format d’entrée le plus court (même plus court que le unaire ) serait binaire dans ce cas, où une simple expression rationnelle
0$
suffirait. Mais comme le défi consiste essentiellement à trouver le chiffre binaire le moins significatif, les entrées binaires semblent contourner le défi réel.la source
Python,
11 à10 octets-1 octet grâce à Griffin
Essayez-le en ligne!
En utilisant bitwise
and
, retourne0
pour pair et1
pour impairla source
1 .__and__
est un personnage plus courtLOLCODE, 67 octets
Fonction qui retourne
WIN
(true) si number est pair, sinon (impair) elle retourneraFAIL
(false).Appeler avec
C"123"
.la source
MATL ,
53 octetsParce que les bâtons sont ennuyeux
Cela produit une matrice de valeurs non nulles (ce qui est vérité) pour une entrée paire, et une matrice avec un zéro dans son entrée inférieure droite (qui est faux) pour une entrée impaire.
Essayez-le en ligne! Le code de bas de page est une
if-else
branche destinée à illustrer la véracité ou la fausseté du résultat. Supprimer ce pied de page affichera implicitement la matrice.Explication
Considérez l'entrée
5
comme un exemplela source
Java 8, 8 octets
Essayez-le ici.
Java 7, 30 octets
Essayez-le ici.
Sorties
true
pour les nombres pairs etfalse
pour les nombres impairsSi
1/0
serait autorisé au lieu detrue/false
( ce n'est pas le cas, compte tenu du nombre de voix ici ):n->n%2
int c(int n){return n%2;}
la source
int o(int n){return java.util.stream.IntStream.of(n).map(n->n%2).filter(n==0).findAny().isPresent();}
Piet, 15 codels / 16 octets
Interprète en ligne disponible ici.
Ce programme renvoie 0 si l'entrée est paire et 1 si l'entrée est impaire.
Le texte ci-dessus représente l'image. Vous pouvez générer l'image en la collant dans la zone de texte de la page de l'interprète. Pour plus de commodité, j'ai fourni l'image ci-dessous, où la taille du code est de 31 pixels. La grille est là pour la lisibilité et ne fait pas partie du programme.
Explication
Ce programme utilise le modulo intégré pour déterminer si l'entrée est paire ou impaire.
Les codes bleu foncé en bas à gauche ne sont jamais visités et peuvent être remplacés par une couleur autre que celle d'un code voisin. J'ai choisi le bleu foncé car je trouve que ça a l'air sympa avec le reste du programme. Le code noir en haut à gauche peut également être blanc, mais pas toute autre couleur. J'ai choisi le noir car je trouve que ça a l'air plus joli.
J'ai fourni le programme sous forme d'image et de texte car il n'y a pas de consensus clair sur la manière de noter les programmes Piet. N'hésitez pas à peser sur la méta discussion.
la source
brainfuck , 14 octets
L'entrée et la sortie sont considérées comme des codes de caractères selon cette méta .
La valeur d'octet 1 correspond aux nombres impairs et 0 au pair.
Essayez-le en ligne!
la source
JavaScript, 6 octets
Une fonction anonyme:
Alternativement avec la même longueur:
Les deux retourneront
0|1
ce qui devrait remplir l'exigence detruthy|falsey
valeurs.Essayez les deux versions en ligne
la source
0|1
sont-elles, n'est-ce pas? @TheLethalCoderJapt , 1 octet
Retourne les
1
nombres pairs, les0
impairs.Essayez-le en ligne!
Explication
L'une des caractéristiques déterminantes de Japt est que, contrairement à la plupart des langages de golf, les fonctions n'ont pas d'arité fixe; c'est-à-dire que n'importe quelle fonction peut accepter un nombre quelconque d'arguments. Cela signifie que vous pouvez parfois omettre des arguments et Japt devinera ce que vous voulez.
v
on numbers est une fonction qui accepte un argument et retourne1
si le nombre est divisible par l'argument, sinon0
. Par exemple:Ce programme sortira
1
si l’entrée est divisible par 3 et0
sinon. Il se trouve que l'argument par défaut est2
, résolvant ainsi ce défi en un seul octet.Solution alternative à 1 octet:
¢
convertit l'entrée en chaîne de base 2. Le-h
drapeau renvoie le dernier caractère de la chaîne.Essayez-le en ligne!
la source
brainfuck , 12 octets
Cela nécessite un interprète avec un ruban circulaire et des cellules qui s’enroulent. Celui sur TIO a 65 536 cellules de 8 bits et répond aux exigences.
I / O est en octets. Les entrées impaires correspondent à 0x00 (falsy), même les entrées à un octet différent de zéro (vérité).
Essayez-le en ligne!
Comment ça fonctionne
Nous commençons par lire un octet d’entrée avec
,
et en ajoutant 2 à sa valeur avec++
. Nous verrons plus tard pourquoi l'incrémentation est nécessaire.Ensuite, nous entrons dans une boucle qui avance vers la cellule de droite, lui ajoute 2 et répète le processus à moins que cela ne définisse la valeur de la cellule sur 0 .
Initialement, toutes les cellules sauf la cellule en entrée tiennent 0 . Si l'entrée est étrange, l'ajout de 2 ne la remettra jamais à zéro. Cependant, après avoir bouclé la bande 127 fois, la prochaine itération de la boucle définira la cellule située à droite de la cellule d'entrée sur 128 × 2 = 0 (mod 256) , ce qui entraînera la fin de la boucle.
>++
répète le corps de la boucle une fois de plus, donc la cellule suivante est également mise à zéro et ensuite imprimée avec.
.Par contre, si l'entrée est n et que n est pair, le code avant la boucle définit la cellule d'entrée sur n + 2 . Après avoir bouclé la bande (256 - (n - 2)) / 2 = (254 - n) / 2 fois, la cellule en entrée atteint 0 et la cellule à sa droite contiendra la valeur (254 - n) / 2 × 2 = 254 - n . Après avoir ajouté 2 avec
>++
,.
sera imprimée 256 - n = -n (mod 256) , ce qui est différent de zéro car n est différent de zéro.Enfin, notez que le second cas afficherait 258 - n = 2 - n (mod n) si nous n’incrémentions pas l’entrée avant la boucle, puisqu’il faudrait une boucle supplémentaire autour de la bande pour mettre à zéro la cellule d’entrée. Le programme échouerait donc pour l'entrée 2 .
la source
Sinclair ZX81 BASIC
124 octets114 octets109 octets5750 octets BASIC numérotésSelon les commentaires d'Adám ci-dessous, voici la dernière version candidate à la publication:
Il va maintenant
PRINT
1
pour même et0
pour impair. Zéro sorties.Voici les anciennes versions de la liste symbolique à des fins de référence:
Voici l'ancienne liste (v0.01) afin que vous puissiez voir les améliorations que j'ai apportées car non seulement cette nouvelle liste est-elle plus petite, mais elle est plus rapide:
Et voici la v0.02 (en utilisant les sous-chaînes de Sinclair):
la source
PRINT (A-2*INT A/2)/A
?0
ne devait pas produire deTRUE
ouFALSE
, par conséquent, ce0
n'était pas censé produire de résultat, alors je l'aiSTOP
envoyé au programme. J'ai probablement interprété la question originale telle que postée par @SIGSEGV un peu trop littéralement. Oui, on peut optimiser et refactoriser, vous avez raison.05AB1E , 1 octet
Assez auto-explantoire. Résultats
a % 2 == 0
Essayez-le en ligne!
la source
É
est un meilleur choix, à mon avis personnel; blague.É
retoursa % 2 == 1
.Rétine, 3 octets
Le retour à la ligne est significatif. Prend une entrée unaire. Sorties 1 pour les nombres impairs, rien pour les nombres pairs. Essayez-le en ligne!
la source
C ++, 25 octets
Ceci définit un modèle de variable ( une construction semblable à une fonction ) avec une valeur égale à l'opération au niveau du bit
input&1
.0
pour même les valeurs,1
pour les valeurs impaires. La valeur est calculée au moment de la compilation.Nécessite C ++ 14.
Essayez-le en ligne!
la source
int o(int v){return v&1;}
) prendrait le même nombre d'octets, à la différence que la valeur serait calculée à l'exécution.main()
construction semblable à celle du programme, le programme serait simplement compilé pourreturn 0
ne pas être compilé du tout. Cela contredit le meta post que j'ai lié à dans cette réponse.[](int x){return x%2;}
Essayez-le en lignePyth,
32 octetsJe l'ai fait. J'ai joué au golfeur. Pour une fois, c'est une solution non triviale qui a réussi à obtenir le dernier octet!
Vérité sur les valeurs paires (non compris 0, mais ce n'est pas positif, alors ...).
Explication:
Par exemple
!!2 = !0 = 1
, et!!!3 = !!0 = !1 = 0
Je garderai ma bibliothèque de solutions à 3 octets ci-dessous.
"Il existe une autre réponse avec plusieurs solutions à 3 octets, mais elle est loin d’être complète. Ajoutons encore quelques solutions:
Indexe la liste de manière
[0,1]
modulaire, donnant des valeurs de vérité sur des entrées impaires.Est-ce que 2 est dans la factorisation principale de l'entrée? (Vérité sur même)
Le GCD est-il de 2 et l'entrée 2? (Vérité sur même)
XOR-ing l'entrée avec 1 ne la diminue-t-elle pas? (Vérité sur même)
Fondamentalement
Q == Q*-1^Q
où Q est l'entrée, mais fait par une boucle. (Vérité sur même)Comme ci-dessus.
Traduit en
Q <= -Q^Q
(vérité sur même)Notez que toutes les solutions ci-dessus impliquant
g
fonctionneront avec<
pour la vérité-fausseté renversée.)la source
C #, 8 octets
Compile a
Func<int, bool>
.Ou si une fonction anonyme n'est pas autorisée, cette méthode pour 21 octets:
la source
if (1)
ne pas compiler.if (1)
dans votre code?if (x)
vraie, alorsx
est une valeur vérité. Si le résultat est faux, alors c'estfalse
. Ainsi, dans le code pseudo:if x, disp(true), else disp(false)
. Si cela ne compile pas, alorsx
ne peut pas être utilisé. Dans MATLAB et dans plusieurs autres langues, tout ce qui est différent de zéro est considéré comme vrai, tandis que0
etfalse
sont considérés comme faux. La chaîneHello
est donc une valeur de vérité dans MATLAB. Cependant, certaines langues exigent que la valeur soit une valeur booléenne (le cas ici), elle doit donc être convertie en une valeur booléenne, en utilisant<1
.Pyth, 3
Je m'attendais à ce que pyth ait un octet intégré de 1 ou 2 pour cela. Au lieu de cela, voici les meilleures solutions que j'ai pu trouver:
ou
ou
la source
TIS-100, 39 octets
Bien entendu, il s’agit plus précisément d’un programme pour l’architecture du nœud d’exécution de base T21, tel qu’il est émulé par l’émulateur TIS-100.
Je vous renvoie à cette réponse pour une explication fantastiquement détaillée de la notation pour les programmes TIS-100, ainsi que de leur structure.
Explication:
En pseudocode, cela ressemblerait à quelque chose comme:
Le T21 n'a pas de types booléens ni de valeurs vérité / fausseté. Le programme renvoie donc -1 pour les nombres impairs et 0 pour les nombres pairs, sauf si l'entrée précédente était impaire. Dans ce cas, elle renvoie -1 pour les nombres pairs et 0 pour les impairs. chiffres - si cela vous dérange, ceci est une réponse de programme complet, vous pouvez donc simplement redémarrer votre T21 entre deux utilisations.
la source
Gelée , 1 octet
Essayez-le en ligne!
Juste un autre construit.
Pour les personnes qui ne connaissent pas Jelly: elle est assez capable d’inférer les bits de code manquants. Il n’ya donc pas beaucoup de différence syntaxique entre un extrait de code, une fonction et un programme complet; l'interprète ajoutera automatiquement du code pour entrer les arguments appropriés et affichera le résultat. C'est très pratique lorsqu'il s'agit de règles PPCG, qui autorisent des fonctions et des programmes, mais interdisent les extraits. Dans le lien TIO, je considère cela comme une fonction et l’exécute sur chaque entier compris entre 1 et 20 inclus, mais cela fonctionne également comme un programme complet.
Gelée , 2 octets
Essayez-le en ligne!
C'est assez court sans construit, aussi. (Ceci est bitwise-AND avec 1.)
la source
7 , 18 caractères, 7 octets
Essayez-le en ligne!
7 n'a rien qui ressemble à une déclaration if normale et a plus d'un moyen idiomatique de représenter un booléen. En tant que tel, il est difficile de savoir ce qui compte comme vérité et falsey, mais ce programme utilise
1
comme chaîne impaire et nulle la chaîne paire (les valeurs de vérité et de falsey pour Perl, dans lesquelles l'interpréteur est écrit). (Il est assez facile de changer cela; la sortie impaire est spécifiée avant les 7 premiers, la sortie paire est spécifiée entre les deux premiers 7. Il est possible qu'un changement de format de sortie soit éventuellement nécessaire pour gérer d'autres types de sortie; cependant, j'ai utilisé les deux les sorties distinctes les plus courtes ici.)7 utilise un codage octal compressé dans lequel trois octets de source représentent huit octets de programme, ainsi 18 caractères de source sont représentés dans 7 octets sur disque.
Explication
Comme beaucoup de formats de sortie, "output integers" annule un nombre quelconque de niveaux d'échappement avant la sortie; ainsi
40
, qui combinent une opération d'échange et d'échappement, peuvent être utilisés à la place d'405
une opération d'échange (qui est une opération d'échange et d'échappement suivie d'un non-évasement). Si vous utilisiez un format de sortie instable en ce qui concerne l’échappement, vous auriez besoin de la405
ce . (Incidemment, la raison pour laquelle nous avions besoin d'échapper à la chaîne de format à l'origine est que si la première sortie contient des caractères non représentables, elle oblige automatiquement le format de sortie 7. L'échappement permet de supprimer les caractères non représentables et de permettre la sélection du format 0).Parmi les six éléments de pile initiaux, le plus important est le programme principal (et est consommé par
13
le premier élément à exécuter); le second est celui023
qui sélectionne le format de sortie et demande une entrée, et qui est consommé par cette opération; le troisième est consommé en tant qu'effet secondaire de l'3
opération (il sert à rejeter des éléments de pile en plus de produire une sortie); le quatrième,40
est le corps de la boucle (et est consommé par celui5
qui exécute la boucle); et les cinquième et sixième sont échangés un nombre de fois égal à l'entrée (finissent donc dans leurs positions d'origine si l'entrée est paire, ou dans les positions de chacun si l'entrée est impaire).Vous pouvez jouer avec un personnage en changeant le début
177
de17
(et en vous basant sur un sixième élément de pile implicite vide), mais cela changerait la parité des sorties en une méthode moins idiomatique que celle qui est inhabituelle, et cela ne ferait pas économiser. un octet entier (la source a encore sept octets de long). En tant que tel, j’ai décidé d’utiliser la forme de sortie la plus naturelle, car elle n’a pas de résultats pires.la source
Brain-Flak ,
22 à20 octetsVoici annother cool réponse à Brain-Flak vous devriez également vérifier
Essayez-le en ligne!
Explication
Pour commencer, nous allons faire une copie de notre contribution avec
(({}))
.La copie du bas servira de valeur de vérité tandis que la copie du haut sera utilisée pour le traitement réel. Ceci est fait parce que nous avons besoin que l'entrée soit sur le dessus et il est plutôt fastidieux (deux octets supplémentaires!) De mettre un 1 sous l'entrée.
Puis on commence une boucle
{({}[()]<>)}
. Il s’agit d’une simple modification de la boucle de compte à rebours standard qui permute les piles à chaque décrément.Puisqu'il y a deux piles, un nombre pair finira sur le haut de la pile sur laquelle il a commencé, tandis qu'un nombre impair se terminera sur la pile opposée. La valeur copiée restera en place et servira donc de marqueur du début.
Une fois que nous avons terminé avec la boucle, nous avons un
0
(à l’origine, l’entrée) assis au-dessus d’une valeur de vérité (la copie de l’entrée) ou de falsy (pile vide). Nous avons également la valeur opposée sur l'autre pile.Nous devons nous débarrasser de ce
0
qui peut être supprimé par{}
ou<>
. Les deux semblent fonctionner et donnent des résultats opposés, mais{}
provoque une valeur de fausseté égale à zéro, alors que cela devrait rendre la vérité. Cela est dû au fait que notre valeur "vérité" est une copie de l'entrée et que zéro est la seule entrée pouvant être falsifiée.Ce problème est résolu en mettant fin au programme avec
<>
.(Bien entendu, conformément à la spécification, techniquement, je ne suis pas obligé de prendre en charge zéro, mais deux options que je préférerais prendre en charge.)
la source
BitCycle ,
19 1716 octetsEssayez-le en ligne!
Argh, j'ai l'impression qu'il y a une solution de 18 octets flottant à portée de main :(Haha! -2 octets en utilisant un+
pour rediriger des bits provenant de différentes directions.Cela donne toujours l'impression qu'il y a trop de blancs (6 octets en tout!)
Explication:
la source
Lot, 16 octets
Sorties 1 pour impair, 0 pour pair. La version alternative à 16 octets fonctionne également sur les nombres négatifs:
17 octets à la sortie 1 pour pair, 0 pour impair:
la source
(Input):(Output)
"Excel, 10 octets
Ou:
Pour sortie de:
la source
?[A1]mod 2
; un VBE anonyme imite une fonction de fenêtre qui prend des entrées[A1]
et des sorties dans VBE0
imite une fenêtre avec (falsey) représentant pair et1
(vérité) représentant impairJSFuck ,
968593846420 octetsJSFuck est un style de programmation ésotérique et éducatif basé sur les parties atomiques de JavaScript. Il utilise seulement six caractères différents pour écrire et exécuter du code.
Sorties 1 pour impair et 0 pour pair.
Essayez-le en ligne!
la source
alert(prompt()%2)
semble être 9384 caractères.[]["fill"]["constructor"]("return this%2")["call"]
.fill
a été choisi car il ne coûte que 81 caractères, la moins importante des méthodes de tableau. En outre, vous pourriez soutenir que JSFuck n'est pas un langage séparé, mais plutôt un sous-ensemble de JavaScript.+
pour sauvegarder 77 octets supplémentaires ;-) Et personnellement, je pense que répondre à JSF est correct; c'est fondamentalement un dialecte de JS.Bash + bc,
2114119 octetsLit les entrées de ligne de commande, développe la valeur dans la chaîne avec l'opération mod et dirige la chaîne vers bc pour le calcul. Sorties 1 pour impair, 0 pour pair.
Cas de test:
Edit: sauvegardé 7 octets grâce à @ ais523
Edit 2: sauvegardé 3 octets supplémentaires grâce à @Dennis
Edit 3: sauvegardé 2 autres grâce à @Dennis
la source
$1
) plutôt que de passer des octets à le lire à partir de stdin?bc<<<$1%2
.