Basé sur ce défi.
Dans le jeu de rythme osu! , le modificateur de difficulté "Double-temps" n'augmente en réalité que la vitesse de 50%.
Votre tâche consiste à écrire un programme qui génère un entier pair positif (supérieur à 0). Lorsque chaque octet / caractère (à vous de choisir) de votre code source est dupliqué, il doit générer le nombre multiplié par 1,5.
Par exemple, si votre code source est ABC
et que le résultat est 6, alors le AABBCC
résultat est 9.
En suivant les règles du défi original:
Règles
- Vous devez construire un programme complet.
- La source initiale doit avoir au moins 1 octet de long.
- Les deux nombres entiers doivent être en base 10 (leur sortie dans une autre base ou avec une notation scientifique est interdite).
- Votre programme ne doit pas prendre d’entrée (ou avoir une entrée vide, non utilisée) et ne doit renvoyer aucune erreur (les avertissements du compilateur ne sont pas considérés comme des erreurs).
- La sortie des entiers avec des espaces de fin / fin est autorisée.
- Vous ne pouvez pas supposer de saut de ligne entre les copies de votre source.
- C'est du code-golf , donc le moins d'octets dans chaque langue gagne!
- Les failles par défaut s'appliquent.
J'imagine que ce sera beaucoup moins trivial que le défi initial, mais j'espère que nous verrons des réponses créatives et uniques!
code-golf
source-layout
Skidsdev
la source
la source
write a program that outputs a positive even integer
Oui, ce sera le cas. Chaque nombre pair peut être multiplié par 1,5 pour donner un entier entierfull program
. Il est difficile d’imaginer qu’un programme dupliqué ait encore un point d’entrée / une fonction valide.Réponses:
Pylônes ,
754 octetsChoisi une langue au hasard sur TIO utilisé
Explication:
Essayez-le en ligne!
Doublé:
2 octets sauvés grâce à officialaimm
Enregistré 1 octet grâce à Veedrac
la source
4/6vt
marche aussi ...46vt
la même chose?Gelée , 2 octets
Essayez-le en ligne!
Explication:
Version doublée:
Essayez-le en ligne!
Explication:
la source
LibreOffice Calc, 8 octets
Enregistrez-le sous
*.csv
et ouvrez-le dans LibreOffice Calc. Vous obtiendrez 22 en A1.Double les:
Vous obtiendrez 33 en A1
la source
MATL , 3 octets
Essayez-le en ligne! Ou la version doublée .
Explication
En MATL, une valeur scalaire (nombre, caractère, valeur logique) est identique à un tableau 1 × 1 contenant cette valeur.
Version normale:
Version doublée:
la source
:)
[nous l'utilisons parfois pour obtenir les premiersn
éléments d'un tableau ...]vim, 5
Sans doubler:
Avec doublage:
la source
Pas sûr que cette réponse soit valide. Juste poster ici au cas où quelqu'un pourrait avoir des idées d'ici.
Node.js avec l'indicateur -p, 7 octets
Par Alex Varga :
Node.js avec l'indicateur -p, 11 octets
Le vieux:
Sortie 22 et 33.
la source
-p
flag pour afficher la valeur de l'expressionPython 2 REPL, 11 octets
Cela évalue simplement à 3 * 2 = 6. Dupliqué, c'est
qui évalue à 3 ** 2, qui est 3 à la puissance de 2, ou 9.
la source
APL, 7 octets
Impressions
2
.Impressions
3
.Essayez-le en ligne!
Waaat?
Unique:
Double:
la source
Réellement , 3 octets
Essayez-le en ligne!
Explication:
Version doublée:
Essayez-le en ligne!
Explication:
la source
CJam , 4 octets
Essayez-le normalement!
Essayez-le doublé!
Explication
Ordinaire:
Double:
la source
AB],
fonctionne aussi.05AB1E , 2 octets
Essayez-le en ligne!
Explication:
Version doublée:
Essayez-le en ligne!
Explication:
la source
Neim , 2 octets
Essayez-le en ligne!
Explication:
Version doublée:
Essayez-le en ligne!
la source
Pyth, 3 octets
Essayez ici.
Explication:
Version doublée:
Essayez ici.
Explication:
la source
R , 11 octets
Essayez-le en ligne!
!
est négation et**
exponentiation (un alias pour^
). Les nombres sont convertis en booléens:0
àFALSE
, tous les autres àTRUE
. Booléens sont converties en nombres entiers:FALSE
à0
,TRUE
à1
, donc!0==1
,!1==0
,!!00==0
et!!11==1
.La version unique calcule donc8 × 1 + 1 × 0 = 8 et la version double calcule 880+ 111= 12 .
la source
*
et**
, mais vous m'avez battu!!0
est ennuyeux). Il y a peut-être quelque chose de plus court avec-
et*
, mais je n'ai pas encore trouvé cette solution ...Cubix , 6 octets
Impressions
2
.Pousse
1
,)
incrémente,W
saute à gaucheO
quelle sortie2
et@
termine le programme.Doublé, c'est évidemment
OO..11))WW@@
, ce qui sur un cube est:Il pousse
1
deux fois,)
incrémente deux fois,W
saute encore une fois à gauche, ce qui le place à droite enO
direction du nord, ce qui sort3
, puis la commande suivante est celle@
qui termine le programme.Essayez-le en ligne!
Doublé en ligne!
la source
Klein ,
8 à6 octetsCélibataire , double
Explication
Pour le single, le programme suit un chemin assez simple. Le premier miroir le dévie dans le second qui le dévie à travers le
4
jusqu'à la fin du programme.Le double est un peu plus complexe. C'est ici:
Les deux premiers miroirs fonctionnent de la même manière, mais il y a un nouveau miroir en raison du double qui dévie l'ip au début, il est attrapé par la copie du premier miroir et dévié vers la fin. Tout ce qui est exécuté est le
33++
qui est évalué à 6.la source
TI-Basic, 3 octets
Unique:
La dernière expression est implicitement renvoyée / imprimée dans TI-Basic.
2
Doublé:
Retours / impressions 3
TI-Basic est un langage à jeton .
int(
,√(
et8
sont chacun un octet en mémoire.la source
Ruby REPL, 8 octets
Le REPL imprime uniquement la dernière valeur évaluée:
22
.Doublé:
Ce temps
33
est la dernière valeur évaluée. La chaîne est à nouveau supprimée et a#
commence un commentaire.la source
> <>,
198 octetsPrints
22
Essayez-le en ligne!
Explication:
Doublé:
Prints
33
Essayez-le en ligne!
Explication:
Ancienne version:
normale:Prints
2
Essayez-le en ligne!
Explication:
Doublé:
Prints
3
Essayez-le en ligne!
Explication:
la source
Zsh , 14 octets
Essayez-le en ligne!
Obtenir un programme complet dans une langue autre que le golf pour imprimer quoi que ce soit avec un code source dupliqué de cette manière constitue un défi. Zsh est très utile pour cela, car les fichiers et heredocs sont implicitement passés à
cat
. Jetons un coup d'oeil à la première ligne dans les deux cas:Tant que
3
ne s'agit pas d'un programme, le premier programme sera uniquement imprimé22
. Le deuxième programme sera imprimé33
entouré de nouvelles lignes (en raison de la duplication).Si
3
est une fonction / programme / alias, cette solution de 18 octets fonctionnera toujours!Essayez-le en ligne!
La dernière
\
est la continuation de la ligne, la nouvelle ligne est donc rejetée, ce qui en fait une déclaration d'échoecho '22\c3'
. Les\c
causes empêchent l’impression après22
(ce qui supprime également la nouvelle ligne).la source
Perl 6 , 14 octets
Essayez-le en ligne! Essayez-le doublé!
Ceci utilise la fonction de débogage bien nommée
dd
pour sortir le programme doublé vers STDERR. Pour séparer la logique, nous plaçons le programme doublé entre guillemets, qui s'annulent ensuite lorsqu'ils sont doublés, avec un caractère#
de commentaire pour commenter le programme normal, désormais invalide.la source
Stax , 3 octets
Exécuter et déboguer
Exécuter et déboguer le doublé
U
pousse -1.J
des carrés.^
incréments.la source
MathGolf , 2 octets
Essayez-le en ligne! Essayez-le doublé
Semblable à d'autres réponses en ce que la première instruction produit un
1
même lorsque doublé et la seconde l'incrémente. Dans ce cas, j’ai utilisé l’exponentiation inverse (0**0 = 0**0**0 = 1
), mais c’était aussi l’une des!£≤°
instructions et peut-être même plus que ce que j’ai manqué.la source
Japt , 2 octets
Une autre solution "factorielle + 1".
Essaye-le
Essaye-le
la source