5 ms·
Widest Roman Prime
- lisper 11y agoShould have just done it in Common Lisp. Roman numeral formatting is built-in. ? (format nil "~@r" 3989) "MMMCMLXXXIX"
- melloclello 11y agoI'd imagine it's not easy to render the text out into Times without UIKit or equivalent? Pretty cool that it has that built in, though.
- akkartik 11y agoBut would the font make any difference to the answer?
- deleted 11y ago[deleted]
- astrange 11y agoIt asks for the widest string in pixels in a proportional font, so the different letters matter.
- gpvos 11y agoSince most proportional fonts have somewhat similar widths, probably not. But if you just look at the longest string (or use a non-proportional font) there will be four roman numbers of equal length/width.
- lisper 11y agoActually, that's pretty easy too in CCL. It has a very nice ObjC bridge.
- tosseraccount 11y ago20 bits would do it.
- _sg 11y agoCL-USER> (format nil "~:@r" 3989) "MMMDCCCCLXXXVIIII"
- melloclello 11y agoWow, Swift is perfect for doing this kind of thing
- tosseraccount 11y agoReally, I don't think it CLIX with Taylor.
- fishnchips 11y agoSo it seems but mostly because of the UI component where you can calculate the width of the resulting text without having to hardcode the width of individual characters.
- AstroJetson 11y agoThe challenge wasn't print the largest prime under 4000, it was find the prime with the most digits. So the lisper example gave the wrong answer. Still need to generate the prime, count the digits and return the one with the most digits. No sure that the lisp version would be less lines of code, but I'll guess a recursive version would be close
- tolmasky 11y agoHere it is in JavaScript (feel free to play around with it): https://tonicdev.com/tolmasky/widest-roman-prime https://tonicdev.com/tolmasky/widest-roman-prime Took me only a couple of minutes since it was mainly just searching for the right npm packages to piece together. Say what you like about micro libraries, but for explorations like this it really makes JavaScript in a league of its own.
- Illniyar 11y agoYou are missing the last step, using the "times new roman" font.
- tolmasky 11y agoIts on line 26 (have to scroll down to see it).
- ktRolster 11y ago> Say what you like about micro libraries, but for explorations like this it really makes JavaScript in a league of its own.Say what you like about micro libraries, but for explorations like this it really makes JavaScript in a league of its own. Indeed, we spend so much time arguing about programming languages, when in reality the presence or absence of libraries is much more important.
- epalmer 11y ago> Indeed, we spend so much time arguing about programming languages, when in reality the presence or absence of libraries is much more important. +1,+1
- omk 11y agoThat's the exact reason I believe in Javascript. Exploration and when you need something done quick and dirty.
- mgraczyk 11y agoThe problem is underspecified because it does not define under which renderer the text should be measured. Kerning could reorder some of the close ties.
- revx 11y agoThe next question that popped into my head is, what's the thinnest Roman Prime? Took me about sixty seconds before I realized that was a stupid question :)
- dewiz 11y agoDepends, monospaced font or not? It's either 2 or 5
- lziest 11y agoI thought 3888 will be wider than 3889 because VIII certainly feels wider than IX but I am not font expert so I don't know
- raffy 11y agoSimple solution in Mathematica: http://i.imgur.com/2iBIRwN.png http://i.imgur.com/2iBIRwN.png
- jdiez17 11y agoI like this solution the most. Some questions on @wacnt (like this one) can't be answered because Wolfram Alpha's NLP fails to recognize the algorithm implicit in the question, but if it was able to translate the problem statement into a machine-readable form, this would be very close to it. Edit: Some background on @wacnt: https://docs.google.com/document/d/17me2A-SG5Z0Mr9Xd-a1kT1HQlWZL5rw3r6Hls6XPfO4 https://docs.google.com/document/d/17me2A-SG5Z0Mr9Xd-a1kT1HQ...
- kwhitefoot 11y agoStrictly speaking that's the widest modern usage Roman prime under 4000. The actual Romans were inconsistent in their use of the subtractive principle, see http://www.straightdope.com/columns/read/1371/what-is-the-proper-way-to-style-roman-numerals-for-the-1990s http://www.straightdope.com/columns/read/1371/what-is-the-pr... So there might be ways to construct a wider one.
- agentgt 11y agoIts funny with all these new sort of bracket like functional programming languages with similar syntax it actually took me a minute to figure out that the code is Swift(probably lack of experience)... Looks like Scala.. no scala doesn't use let.. is it Rust.. nope not Rust.. rust does not use "import".. can't be Ocaml or F# because of no brackets... ah UIKit.