N'importe qui peut agrandir la sortie d'un programme en ajoutant des caractères, faisons exactement l'inverse.
Ecrivez un programme complet, une fonction interne ou un extrait pour un environnement REPL dans la langue de votre choix qui répond aux critères suivants:
Votre code doit comporter au moins 1 caractère.
L'exécution du code d'origine produit x caractères de sortie vers STDOUT (ou l'alternative la plus proche), où 0 ≤ x <+ ∞ .
La suppression de tout caractère unique arbitraire du code d'origine génère à nouveau un code valide, qui produit au moins x + 1 caractères de la sortie vers STDOUT.
Ni le code original ni les modifications ne peuvent produire d’erreur, que ce soit vers STDOUT, STDERR, syslog ou ailleurs. Les seules exceptions à cette règle sont les avertissements du compilateur.
Votre programme peut ne nécessiter aucun indicateur ou paramètre pour supprimer la sortie d'erreur.
Votre programme ne peut contenir aucune erreur fatale, même s'il ne produit aucune sortie.
Le code original et les modifications doivent être déterministes et finir par aboutir (pas de boucles infinies).
Ni le code original ni les modifications ne peuvent nécessiter une quelconque entrée.
Les fonctions ou les extraits ne peuvent conserver aucun état entre les exécutions.
Considérant que cette tâche est triviale est certaines langues et carrément impossible dans d'autres, c'est un concours de popularité .
Lors du vote, tenez compte de la "brièveté relative" du code, c’est-à-dire qu’une réponse plus courte devrait être considérée comme plus créative qu’une réponse plus longue dans la même langue .
111111111111111111^111111111111111111
(si vous vouliez dire le ratio le plus bas).
k
instructions constantes , la sortie de chaque programme est strictement supérieure à la sortie de l'original (car l'autre les programmes feraient une boucle plus rapidement ou produiraient plus chaque boucle). C'était plutôt intéressant. Peut-être que je verrai si je peux quand même le terminer et relever un autre défi.