Écrivez le programme le plus court possible de sorte que lorsque vous combinez le premier caractère et chaque Nième caractère suivant dans un nouveau programme, la sortie soit N. Cela doit fonctionner pour N = 1, 2, ..., 16.
Une autre façon de le dire est que si vous supprimez tous les caractères de votre programme à l' exception du premier et de tous les N après, la sortie du code restant doit être N.
Exemple
Si votre code était
ABCDEFGHIJKLMNOP
N = 1 résulte en ABCDEFGHIJKLMNOP
. L'exécution de cela devrait produire 1.
N = 2 résultats ACEGIKMO
. L'exécution de ceci devrait produire 2.
N = 3 résultats ADGJMP
. L'exécution devrait produire 3.
N = 4 résultats AEIM
. L'exécution de ceci devrait produire 4.
N = 5 résultats AFKP
. L'exécution devrait produire 5.
N = 6 résultats AGM
. L'exécution devrait produire 6.
N = 7 résultats AHO
. L'exécution devrait produire 7.
N = 8 résultats AI
. L'exécution devrait produire 8.
N = 9 entraîne AJ
. L'exécution devrait produire 9.
N = 10 résultats AK
. L'exécution devrait produire 10.
N = 11 entraîne AL
. L'exécution de ceci devrait produire 11.
N = 12 entraîneAM
. L'exécution de ceci devrait produire 12.
N = 13 résultats AN
. L'exécution devrait produire 13.
N = 14 résultats AO
. L'exécution de ceci devrait produire 14.
N = 15 résultats AP
. L'exécution devrait produire 15.
N = 16 résultats A
. L'exécution devrait produire 16.
Détails
- Tous les caractères sont autorisés, ASCII et non ASCII. (Les retours à la ligne et les caractères ASCII non imprimables sont également autorisés. Notez que le retour chariot et le saut de ligne comptent comme des caractères distincts.)
- Votre score est la longueur en caractères de votre programme inchangé (15 par exemple). Le score le plus bas l'emporte.
- Un score inférieur à 16 est clairement impossible car alors au moins deux des programmes modifiés seraient identiques.
- La sortie peut être vers un fichier ou une sortie standard ou toute autre chose raisonnable. Cependant, la sortie des 16 programmes différents doit tous aller au même endroit (par exemple, ce n'est pas ok si
AO
va à stdout maisA
va dans un fichier). Il n'y a aucune entrée. - La sortie doit être décimale et non hexadécimale. La sortie réelle ne doit contenir que les 1 ou 2 caractères qui composent le nombre de 1 à 16, rien d'autre. (Des choses comme Matlab
ans =
sont ok.) - Votre programme ne doit pas fonctionner pour N = 17 ou supérieur.
ABCDEFGHIJKLMNO
et au N = 15
code de résultat juste A
.