Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Fun programming puzzler
#8
In R.
Code:
morris <- function(b=1) {
c = b
repeat {
  cat(b,"\n",sep="")
  n = -1
  x = n
  for (i in 1:length(b)) {
    if (b[i]==x) c[n]=c[n]+1
    else {
      n=n+2
      x=b[i]
      c[n+1]=x
      c[n]=1
    }
  }
  b = c
}
}
This solves the more complicated version because the shorter one is the same number of characters, just change the first line into 2 lines:
Code:
morris <- function() {
b=1

135 characters either way, if I counted right.

I'm slightly cheating because to put in more than 1 digit, you use morris(c(1,3,1,3,1,3)), not morris(131313).


Also, technically speaking, it'll overflow when R runs out of memory (in 32-bit R, after 3 gigs, in 64-bit, after it uses all your RAM). But not much I can do about that.

 Version that will take integer input as specified: 183 chars
Reply


Messages In This Thread
Fun programming puzzler - by Fiel - 2010-11-11, 02:36 PM
Fun programming puzzler - by Jedward - 2010-11-11, 02:53 PM
Fun programming puzzler - by Nikkey - 2010-11-11, 04:17 PM
Fun programming puzzler - by SaptaZapta - 2010-11-11, 04:40 PM
Fun programming puzzler - by Nikkey - 2010-11-11, 05:11 PM
Fun programming puzzler - by DrRusty - 2010-11-11, 05:44 PM
Fun programming puzzler - by KajitiSouls - 2010-11-11, 06:57 PM
Fun programming puzzler - by Stereo - 2010-11-11, 08:02 PM
Fun programming puzzler - by Russt - 2010-11-11, 08:05 PM
Fun programming puzzler - by Stereo - 2010-11-11, 08:38 PM
Fun programming puzzler - by Fiel - 2010-11-12, 08:10 AM
Fun programming puzzler - by SaptaZapta - 2010-11-12, 09:04 AM
Fun programming puzzler - by Stereo - 2010-11-12, 12:29 PM
Fun programming puzzler - by Dusk - 2010-11-12, 12:45 PM
Fun programming puzzler - by Spaz - 2010-11-12, 12:48 PM
Fun programming puzzler - by Fiel - 2010-11-12, 04:10 PM
Fun programming puzzler - by Russt - 2010-11-13, 02:16 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)