Vous devez faire trois choses:
- Déclaration d'une tâche, T .
- Solution de la tâche dans le langage généralement pas utilisé pour jouer au golf, A .
- Solution de la tâche dans le langage généralement utilisé pour jouer au golf, B . N'essayez pas de gonfler juste B pour augmenter le score, pensez plutôt comme si B a été écrit par votre concurrent.
Faites preuve de bon sens dans la définition typically used for golfing
, essayez de maximiser le plaisir pour les autres utilisateurs.
D'autres utilisateurs peuvent proposer de meilleurs B
s (y compris peut-être dans d'autres langues "golfy").
La notation est (length_in_bytes(B)+5)/(length_in_bytes(A)+5)
, plus c'est mieux. (Peut-être que la formule de notation devrait être modifiée? ..)
L'idée principale est d'inventer une tâche où les langages qui fonctionnent généralement bien dans le codegolf rencontrent un problème. Cela peut être la force soudaine d'une langue usuelle dans la tâche donnée ou la faiblesse soudaine d'un golflang.
Évitez les tâches qui mentionnent des langages de programmation spécifiques, comme Input a string and execute it as a Scheme code
.
Réponses:
Ma question précédente, Imprimer une onde sinusoïdale (verticalement), se qualifie en ce moment. Je le poste ici comme solution, en espérant également que vous puissiez trouver des solutions plus courtes à ma question initiale.
Comme requis par Vi., Je posterai un résumé de la question.
Imprimer une onde sinusoïdale continue défilant verticalement sur un terminal. Le programme ne doit pas se terminer et doit défiler en continu sur la vague (sauf jusqu'à SIGINT). Vous pouvez supposer que le débordement n'est pas un problème (c'est-à-dire que vous pouvez utiliser des boucles infinies avec des compteurs d'incrémentation ou une récursion infinie).
L'onde doit satisfaire les propriétés suivantes:
|
Il y a un exemple de sortie sur ma question d'origine, mais je ne le poste pas ici, car cela rendra ma réponse ridiculement longue. Ma question originale peut être vue ici: Imprimer une onde sinusoïdale (verticalement)
Le plus court
A
actuellement: une solution Perl avec 48 caractères: /codegolf//a/18655/12205Plus court
B
actuellement: une solution J avec 54 caractères: /codegolf//a/18649/12205Actuellement, le score de cette réponse est de 1.113 (un score terriblement bas)
la source
Ajoutez deux nombres
Obtenez deux numéros de STDIN et ajoutez-les ensemble. Vous devez prendre en charge les nombres à virgule flottante, donc 0,5 + 1,5 doit être égal à 2.
Perl 5 (avec
-E
)GolfScript
la source
(24+5)/(8+2+5) = 1.9(3)
.-E
également compté comme octets de programme.n%'+'*'"#{ }"'n/\*~
où le caractère entre{}
est une nouvelle ligne littérale (non prise en charge dans les commentaires).+/".1!:1,~1
. APL serait probablement encore plus petit.Imprimer 'Bonjour tout le monde!' au stdout.
PHP, 13 octets
Golfscript, 15 octets
Pyth, 14 octets
la source
H
Score 48/37 ou 1. (297)
T: écrire un extrait de code qui termine le programme après exactement une heure (aussi proche que possible, comme dans une seconde) de l'exécution. Ne vous inquiétez pas des exceptions, elles peuvent être gérées.
A: Java (32)
B: est pour Befunge 98, nécessite l' empreinte digitale TIME (43)
Cela prend l'heure, la minute et la seconde au moment de l'exécution, et place les cellules 02, 01 et 00. Ensuite, il passe
;
à la deuxième partie. La deuxième partie fonctionne comme suit:de même pour la minute et l'heure.
Notez que Befunge reviendra automatiquement au début de la ligne lorsque la fin d'une ligne est atteinte.
Comme nous pouvons le voir, Befunge n'est pas bon quand il s'agit d'attendre des moments précis. Cependant, Java n'est pas mauvais.
la source
⎕DL 3600
class Main{public static void main
...System.exit(0);
ou enveloppant votre sommeil dans unemain
méthode.error: not a statement
Sortie d'un certain fichier texte (498,388888 points)
Le résultat de l'objectif est ici .
Le script Python 3.4.3 pour l'imprimer est de 49 octets:
Le programme CJam naïf égal à la sortie de l'objectif, en encapsulant la chaîne de sortie
"..."
et en échappant à chacune"
qui s'y produit, serait de 26908 octets.la source
Dites "Bonjour tout le monde!" (50/26 ≈ 1,92)
Afficher une boîte de message pour dire "Bonjour tout le monde!"
Javascript
Dans un navigateur prenant en charge DOM niveau 0+.
Perl
Exécution sur ActivePerl avec Win32 :: GUI.
la source
alert
ne fait pas intrinsèquement partie de JS, et le programme GolfScript n'est qu'un commentaire.Sortie "Bonjour tout le monde!" jusqu'à ce que l'utilisateur appuie sur "q",
1.842105/44 = 2.386QBasic (
5239 caractères)Depuis la publication de ma réponse d'origine, j'ai découvert que je pouvais désactiver la mise en forme automatique dans QB64. : ^ D Avec le numéro de ligne et le
?
raccourci pourPRINT
, cela ressemble plutôt à une expression ternaire dans des langages de type C.Première version:
Perl 5 (100 caractères)
Ce qui précède ne fonctionnera que sur (certains?) Les systèmes UNIX (testé sur Ubuntu 12.04). Il est possible que l'on puisse aller sur plusieurs plates-formes et le réduire à 91 caractères en utilisant le module Term :: ReadKey , mais je ne l'ai pas testé:
la source
Bonjour le monde (3 1/3 points)
Écrire un programme qui sort
Hello World.
.HQ9 + (1 caractère)
Ce n'est pas un langage "généralement utilisé pour le golf", donc je pense qu'il convient ici. Fonctionne dans cet interprète, soit dit en passant .
GolfScript (15 caractères)
Je doute qu'il puisse être plus court, même s'il s'agit de GolfScript.
la source
HQ9+
convient comme une langue. Il est conçu pour des tours / énigmes / amusement. Brainfuck / unlambda / d' autres langues ne semble pas ésotériques aussi costume comme A .HQ9+
comme langage B et le battre par Java ou autre ...Sortie "Bonjour tout le monde!", 33/97 = 2,94
Écrire un programme qui génère
Hello world!
Arduino ou GML
ou
Les deux font 28 caractères.
GTB
J'utilise beaucoup GTB pour jouer au golf (surtout depuis que je l'ai créé moi-même, et c'est Turing complet). Malheureusement, la prise en charge des caractères en minuscules est limitée (car la calculatrice TI-84 ne peut pas y faire face). C'est probablement le programme GTB le plus court qui peut produire Hello world!
92 caractères.
la source
cos
s etexprs
ou ne peut-elle vraiment pas produire quelque chose de manière régulière? Ou le"
caractère n'est en fait pas une chaîne littérale et me déroute ..."Hello world!"