introduction
Commençons par organiser toutes les fractions de 0 à 1 dans l'ordre du plus petit dénominateur, puis du numérateur le plus bas:
1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 2/5, 3/5, 4/5, 1/6, 5/6, 1/7 ...
Notez que les doublons ne sont pas comptés, donc je n'ai pas répertorié 2/4, 2/6, 3/6 ou 4/6, car ils sont déjà apparus dans leurs formes simplifiées (1/2, 1/3 et 2 / 3).
Votre tâche est maintenant simple: étant donné un entier positif n
comme argument de ligne de commande, imprimez sur la sortie standard la n
fraction de la liste. Ainsi, une entrée de 5
devrait donner une sortie de 3/4
( pas 0,75).
Quilleurs
Votre objectif est de résoudre ce problème dans le plus long programme possible. Votre score est le nombre de caractères.
Golfeurs
Votre objectif est de prendre les réponses existantes et de les jouer au golf. Lorsque vous jouez à ces réponses, supprimez un ou plusieurs caractères du code et, éventuellement, réorganisez les caractères restants, de telle sorte que le code résultant soit toujours une solution valide dans la même langue. Votre score est le produit de toutes les réductions. (Donc, si vous supprimez 10 caractères d'une réponse et 15 d'une autre, votre score est de 150.)
Règles
- Un programme valide doit avoir au moins trois caractères uniques.
- Seuls les caractères ASCII peuvent être utilisés.
- Si la taille de votre programme est réduite, votre score est réduit en conséquence.
- Lors du golf d'un programme ...
- Modifiez le code dans le texte de la réponse
- Modifier le nombre de caractères répertoriés
- Laissez le commentaire suivant:
**Removed X characters (from Y to Z)**
(en gras)
- Vous ne pouvez pas associer un programme valide à un programme non valide.
- Le programme de golf doit fonctionner dans une version de la langue indiquée. Donc, si la réponse d'origine est marquée comme Python et que le code ne fonctionne qu'en Python 2, vous pouvez la jouer à un programme qui ne fonctionne qu'en Python 3.
- Par conséquent, il est recommandé (mais pas obligatoire) que vous soyez précis dans le titre de votre réponse, en mentionnant la version et / ou le compilateur utilisé.
- Si vous avez déjà joué une réponse, vous pouvez la jouer à nouveau.
- Si vous jouez plusieurs fois à la même réponse, votre score pour cette réponse est la somme de vos réductions.
- Par exemple, si vous réduisez 10 caractères d'un programme, puis supprimez 15 autres, et jouez également 7 caractères d'une autre réponse, votre score total est (10 + 15) * 7 = 175.
- Cela s'applique indépendamment du fait que quelqu'un d'autre ait joué au programme entre vos golfs.
- Vous pouvez jouer votre propre réponse, mais vous ne recevez aucun point pour cela.
Gagnants
Je vais essayer de garder ce classement régulièrement mis à jour. Si je fais une erreur, faites-le moi savoir, sinon vous pouvez modifier ce message vous-même.
Meilleurs quilleurs
- Dennis (CJam): 1,17 × 10 678
- Pppery (CPython 3.6.2): 25984
- OldCurmudgeon (Java): 278
Meilleurs golfeurs
- jimmy23013: 10 5,2 * 10 152
- Martin Ender: 2,8 * 10 14484
- Pppery: 2 * 10 4111
Réponses:
CJam, 1,17 × 10 678 octets
Eh bien, la chaîne doit en fait contenir 1.167.015.602.222.203.651.546.923.533.233.456.645.527.427.020.625.754.3222.603.554.937 , 551,735,592,092,356,520,085,507,613,447,896,812,875,213,856,544,974,386,642,866,232,121,069,637,599 , 975,236,272,634,227,913,998,493,360,693,139,149,236,571,503,883,331,020,249,908,672,008,574,221,022 , 612.893.546.658.640.986.973.481.700.267.591.531.514.666.040.606.217.610.439.998.612.592.897.511.421.801.308.639.396.208.196.301.077.376.577.788.009.239.468.384.204.073.426.482.794.344.190.683.235.393.373.061.689.668.389.239.477.158.591.879.792.606.717.529.814.802.500.558.822.508.662.266.027.694.882.649.391.373.447.012.817.270.871.840.254.480.631.579.732.459.294.193.158.457.158.597.836.239.348.386.288.579.699.763.150.579.966.400.972.286.547.196.034.472.447.664.813.466.769.145.983.290.696.497.053.781.354.086.441.505.174.165.846,491,136,000,001,121,501,860,331,520,000,000,000,004,508,876,800,000,000,000,000,000,126 virgules, mais l'éditeur ne m'a pas laissé poster le code entier ... :(
la source
Python, 176 octets
Pas un melon, mais ...
la source
9
, qui, pour autant que je sache, est contraire aux règles.t+10
venait de nulle part , ne se rendait pas compte qu'il était en fait fait avec le «t» de «liste», le «10» de «n = 100» et ainsi de suite. Maintenant, je comprends ce qui rend ce genre de défi vraiment intéressant!CJam, 9,44 × 10 284
La chaîne contient en fait 943,611,762,745,112,544,157,801,937,289,871,933,621,396,073,807,297,328,579,826,246,436,861,144,651,900,144,172,793,266,430,374,467,343,433,363,000,182,294,622,535,895,774,344,720,689,882,873,880,571,351,234,260,849,874,055,687,224,065,790,608,381,303,357,434,711,286,607,328,858,338,155,948,406,237,564,203,055,794,077,541,968,210,416,550,049,644,382,519,576,532,604,460,863,849 d'S.
Notez que le programme décodé est lent dans l'interpréteur en ligne.
la source
CJam, 9,44 × 10 284
La chaîne contient en fait 943,611,762,745,112,544,157,801,937,289,871,933,621,396,073,807,297,328,579,826,246,436,861,144,651,900,144,172,793,266,430,374,467,343,433,363,000,182,294,622,535,895,774,344,720,689,882,873,880,571,351,234,260,849,874,055,687,224,065,790,608,381,303,357,434,711,286,607,328,858,338,155,948,406,237,564,203,055,794,077,541,968,210,416,550,049,644,382,519,576,532,604,460,863,849 des virgules.
la source
,
, donc nous ne sommes intéressés que par sa longueur. Le code réel que je veux exécuter estea~i_),1f+_m*{_~{_@\%}h;1=\~>&},\(=~'/@
, et cela convertit le programme en base44 44#
.CJam, 3,8 × 10 87 octets
La chaîne contient 3,796,014,014,685,742,661,874,542,600,705,111,677,820,370,270,684,231,907,254,743,435,585,669,980,653,218,774,219,157 d's.
Le script générateur de la version précédente de cette réponse, qui pourrait être utile plus tard:
la source
'b
...Java - 278
Non golfé:
Version originale
Je n'ai pas tenté de prolonger arbitrairement cette solution. Je ne sais pas si cela va me gagner ou me faire perdre des points. Il s'agit cependant d'une solution correcte qui fonctionnera pour de très grands nombres.
la source
1/2
devrait être la 1ère, pas la 0ème fraction, et la 5ème fraction devrait être3/4
selon la question.import
lignes?CPython 3.6.2, 25984 octets
Cette réponse a été créée en portant le code de la réponse Python de Soham Chowdhury via le cracker que j'ai écrit pour les réponses des flics de wizzwizz4 à des mini-défis restreints .
J'espère que je ne viole pas une règle contre les publications de vieux défis de flics et de voleurs .
la source
d
Rubis,
487411376346340213octetsCommençant par un programme plus «régulier»; Curieux de voir quelles choses horribles vous pouvez y faire.
la source
denumerator
plutôt quedenominator