95 octets actuellement en Python Voici les rares résultats de test, il devrait fonctionner pendant 1 à 3999 (supposer que l'entrée est valide uniquement) P> >>> r("I")
1
>>> r("MCXI")
1111
>>> r("MMCCXXII")
2222
>>> r("MMMCCCXXXIII")
3333
>>> r("MMMDCCCLXXXVIII")
3888
>>> r("MMMCMXCIX")
3999
4 Réponses :
adopter
Ouais, s'il y a des fonctions intégrées, c'est toujours plus court. BTW, moins ne sont pas moi
Votre langue de programmation personnalisée doit être complète et ne compte pas. Fourchette sur le code et je vais vous descendre :)
Joey: En fait, CPL1839079 est python avec le programme de gnibbler (remplaçant R avec F) inclus dans les Libs standard. Pas beaucoup d'une affaire, n'est-ce pas?
Définir réellement mon propre de sopried est plus petit, un total de 98 strong> haskell se rapproche. P> import Data.Maybe --18
r=foldl(\t c->t+y c-t`mod`y c*2)0 --34
y x=fromJust$lookup x$zip"IVXLCDM"[1,5,10,50,100,500,1000] --59
shot pas cher :) p>
Il y avait un " romaine à décimale " Compétition sur Golf de code il y a quelque temps. (Eh bien, il fonctionne toujours parce qu'ils ne finissent jamais.) Un golfeur Perl par le nom de Eyepopslikeamosquito A> a décidé de gagner toutes les quatre langues (Perl, PHP, Python et Ruby), et il l'a fait. Il a écrit une série fascinante de quatre parties " Le parcours de golf a l'air génial, mon swing se sent bien, j'aime mon chances "( Partie II , Partie III , Partie IV ) décrivant ses approches sur perl moines . P>
Voici ses solutions: p>
Il possède également une solution de 53 traits, mais cela ne fonctionne probablement pas actuellement: (il utilise la variable $ ^ t code> pendant quelques seconde période en 2011!) P>
t=p=0
for r in raw_input():n=10**(205558%ord(r)%7)%9995;t+=n-2*p%n;p=n
print t
Oh merci, je ne pouvais pas le trouver avant, alors je ferais mieux d'accepter cela.
Oui, malheureusement parce que le concours CodeGolf.com ne se termine jamais, vous ne pouvez pas voir ce que font les autres. Il arrive que Eyepopslikeamosquito ait révélé ses solutions ailleurs ...
Vous pouvez tirer parti de la solution inversée comme celle-ci.
pour x dans la plage (1 4000): si Inttoroman (x) == entrée: pause code>;)
Votez pour fermer sur le fait que vous essayez d'obtenir une meilleure solution de golf de code que je parie;) pas vraiment ...
Imm, j'aime voir diverses implémentations et dans différentes langues, c'est tout. C'est ma propre implémentation. Je crois qu'il y a beaucoup de geeks qui peuvent faire beaucoup mieux que cela. C'est pourquoi je poste ceci.
Je vote pour fermer cette question comme étant hors sujet car ce n'est pas du golf de code.