Le but de ce défi est de créer un programme qui génère la nième lettre de son code source où n est donné en entrée au programme. Comme la plupart des défis de quine, vous n'êtes pas autorisé à lire votre code source en tant que fichier ou à utiliser des fonctions de quine intégrées.
Contribution
Un entier 0 <= n <len (programme).
Production
Le nième caractère (pas l'octet) de votre programme.
Gagnant
Comme la plupart des questions de codegolf, vous remportez le défi en utilisant le plus petit nombre d'octets pour résoudre le défi.
Bonus
-5% Si votre programme prend en charge le style python à indices négatifs (par exemple, -1 serait le dernier caractère de votre programme). S'ils sont utilisés avec le bonus ci-dessous, vos plages doivent prendre en charge les indices négatifs.
-20% Si votre programme prend en charge les plages en entrée (tout format) en plus des exigences ci-dessus.
-25% Si votre programme complète les deux bonus.
Classements
Voici un extrait de pile pour générer à la fois un classement régulier et un aperçu des gagnants par langue.
Pour vous assurer que votre réponse s'affiche, veuillez commencer votre réponse avec un titre, en utilisant le modèle de démarque suivant:
# Language Name, N bytes
où N
est la taille de votre soumission. Si vous améliorez votre score, vous pouvez conserver les anciens scores dans le titre, en les barrant. Par exemple:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Si vous souhaitez inclure plusieurs nombres dans votre en-tête (par exemple, parce que votre score est la somme de deux fichiers ou que vous souhaitez répertorier les pénalités de drapeau d'interprète séparément), assurez-vous que le score réel est le dernier numéro de l'en-tête:
# Perl, 43 + 2 (-p flag) = 45 bytes
Vous pouvez également faire du nom de la langue un lien qui apparaîtra ensuite dans l'extrait de classement:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
Réponses:
Pyth, 0,75
(Il se trouve également qu'il s'agit d'un polyglotte CJam et probablement de nombreuses autres langues.)
Attend une entrée sur STDIN:
Tout chiffre unique fonctionne, bien sûr. Pas exactement le défi le plus intéressant en Pyth.
la source
Javascript ES6, 31 octets
Explication
Le cadre standard de quine:
[prompt()]
, qui est l'addon, obtient la valeur à l'index d'entrée de la chaîne quine résultante.la source
𝔼𝕊𝕄𝕚𝕟, 9 caractères / 19 octets
Try it here (Firefox only).
Oui, 19e octet!
0
fonctionne aussi (et c'est beaucoup mieux), mais c'est beaucoup trop trivial à mon goût.En outre,
ℹ ï,⧺ï
cela fonctionnerait également, mais les fonctions de quine ne sont pas autorisées.Explication
Le cadre standard quine est
⟮ɕṡ+ᶈ0
.)⎖ï
prend la chaîne quine résultante et obtient le caractère à l'index d'entrée.Solution bonus, 11,4 caractères / 25,65 octets
Try it here (Firefox only).
Celui-ci se qualifie pour le bonus de 5%, mais ne bat toujours pas ma soumission d'origine.
Explication
Celui-ci utilise la pile.
ᵖ…ɕṡ+ᶈ0;
pousse simplement les caractères individuels de la chaîne de quine vers la pile, etôᵍï
sort directement le caractère à l'index d'entrée (positif ou négatif) dans la pile.la source
CJam, 12,35 octets
Le programme est de 13 octets et se qualifie pour le bonus × 0,95 . Essayez-le en ligne!
Comment ça fonctionne
la source
0
cela aurait été un peu plus court ...Rubis, 53 * 0,75 = 39,75
Génère une chaîne HEREDOC délimitée par un
2
sur sa propre ligne, la concatène (*2
), puis ajoute la finale2
via un littéral de caractère. Tranche dedans en utilisant Ruby intégréString#[]
, qui prend en charge les entiers positifs, les entiers négatifs et les plages (entrée dans le formulairem..n
).$><<
est sortie. (puts
nécessiterait un espace supplémentaire ici).la source
gets.to_i
cela ferait la même choseeval gets
et serait plus clair. Il ne gérerait pas les entrées non entières, mais ce n'est pas nécessaire de toute façonRubis, 38,25 octets
Prend en charge les indices et les plages négatifs. J'ai manifestement repris les deux
$><<
et leeval
tour de l'histocrate, et le tour de quine était celui de quelqu'un d'autre, donc je vais faire cette CW.la source
Python 2, 46,55 octets
Prend en charge les indices négatifs.
la source
Haskell, 122 octets
Non golfé:
la source
Befunge 93, 5 octets
C'est assez (très) tard mais je le posterai quand même:
la source