Take the 2-minute tour ×
Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required.

Input must not be required, and output must read "All your base are belong to us".

Restrictions

  • No external resources.

    Plus a minimum of two of the following:

  • You cannot use "a", "b", "t", "u", or "y" in any case in your code (bonus -10 to your golf score if you can do this)

  • You cannot use "l", "o", "s", "e", or "r" in any case in your code (bonus -20 to your golf score if you can do this)

  • You cannot use "n", "g", "0", "1", or "2" in any case in your code (bonus -30 to your golf score if you can do this)

So for example, if you manage to get the code done with 40 characters and use rules 1 and 2, your golf score is 40 - 10 - 20 = 10 chars.

Smallest code golf score wins... Good luck!

share|improve this question
5  
So much as declaring a string breaks all three restrictions, and char, var and Write break two of them each. This is going to be tough to get valid answers, bar maybe Barinfuck. –  Hand-E-Food Jan 23 at 2:28
    
Very difficult in python. print breaks all three. Maybe with some creative eval, but then you have to meet 1 and 3. –  Lego Stormtroopr Jan 23 at 2:37
6  
"no input required". Doesn't that mean that I could, for example, do something like print(input()) (python)? The user would be required to input the correct string, but that isn't forbidden. –  Quincunx Jan 23 at 6:40
3  
@Quincunx I wouldn't accept such a solution, as the code is not guaranteed to output a correct solution. Also, stdin is arguably an "external source". –  nitro2k01 Jan 23 at 18:39
2  
@PranavHosangadi There is a deleted answer to this question with a score of -6 which is essentially the same as that. It's been done before a number of times in various questions and is explicitly disallowed in the code-golf tag. –  Gareth Jan 24 at 10:31

31 Answers 31

up vote 29 down vote accepted

Sclipting, −40

뀖롬긇땯덗긠눦굳뉒걡댦넠눦녬닶멧긇끯긇녳
  • = 20 characters − 60 bonus
  • Only works if the input is empty, which I take to be the case; if not, add in front, changing the score to −39.
  • If I can assume the input to be what I want (as this answer apparently does), then the empty program is a solution and my score is −60.
share|improve this answer
    
Well, "input is not required" as I said, so I'd throw the 丟 in front and alter the score to -39, but great effort! Especially considering you invented the language, dude! –  WallyWest Jan 29 at 23:10

GolfScript, -22 (38 characters, -60 bonus)

"„¯¯c¼²¸µc¥¤¶¨c¤µ¨c¥¨¯²±ªc·²c¸¶"{67-}%
share|improve this answer
3  
How does this work? –  The Guy with The Elf Hat Jan 23 at 14:57
24  
@RyanCarlson Magic. –  Howard Jan 23 at 15:18
4  
"..." defines a string and the block {}% performs a mapping operation over all characters. Inside the block the ascii value is available on the stack and 67- subtracts 67 from each ascii value. –  Howard Jan 23 at 15:19
3  
OK, case is probably the wrong word to use, but you know what I mean. I'm pretty sure superscript 2 is still a 2, so Rule 3 hasn't been met. –  FizzBuzz Jan 24 at 5:48
2  
@FizzBuzz I know what you're trying to say, but I think what matters is that 2 and ² are different glyphs with distinct codepoints. You can make the argument that, in a denotational sense, they are the same symbol, but I think that's a far more abstract interpretation than the question merits. –  Jordan Gray Jan 24 at 14:46

Brainfuck, 267 - 60 = 207

++++++++[>++++++++<-]>+.<+++++++[>++++++<-]>+..>>++++++[<+++++>-]<++.<+++++++++
++++.----------.++++++.---.>.<<++++[>----<-]>.-.<+++[>++++++<-]>.--------------
.>.<----.<++++[>++++<-]>+.-------------.>.<---.+++.+++++++.+++.-.-------.>.<+++
++++++++++.-----.>.<++++++.--.
share|improve this answer
    
Can that be reduced any further, I wonder? :) –  WallyWest Jan 29 at 23:00
1  
fbonetti did better in his Brainfuck answer. –  Hand-E-Food Jan 30 at 3:05
    
And FIQ did even better 4 days later –  schnaader Dec 11 at 12:41

APL (43 - 30 - 20 = -7)

⎕AV['⊥┤┤ ø┼&┐ `∣┘û ∣┐û `û┤┼─ù ´┼ &┘'⍳⍨⌽⎕AV]

This satisfies rules 2 and 3.

share|improve this answer
    
This is going to be hard to beat! –  Chron Jan 23 at 3:33
1  
does this return the result or print it? –  Aaron Davies Jan 23 at 4:10
    
@AaronDavies: both, the result is automatically printed –  marinus Jan 23 at 19:37
    
@marinus I tried this in TryAPL.com and got an INVALID TOKEN error.... perhaps from the initial and tailing character before AV... Is there any other place I can test this...? –  WallyWest Jan 29 at 23:02
    
@WallyWest: use Dyalog APL (dyalog.com). Get the unregistered version, it's free. TryAPL is so limited it's nearly useless. –  marinus Jan 30 at 17:23

JavaScript - 140 bytes - 60 bonus = 80 points

(x="Ǎľľ y̌ǒǔř b̌ǎšě ǎřě b̌ěľǒňǧ ťǒ ǔš")[x[3*9]+x[34]+"p"+x[4]+x[5*5]+"c"+x[34]]("̌","",x[6*7])

Run in Firefox.

I know what you're thinking. No, those aren't the characters that are listed in the question. Those are characters with a caron, or háček (picked randomly from a list of diacritics). Even though they're combining marks, they aren't two separate characters.

share|improve this answer

HTML/CSS 70

<p style="transform:rotate(.5turn)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>

http://jsbin.com/EjekuvuF/1/

I thought I was being clever with the upside down type but then realized I couldn't meet any of the ancillary rules with the actual HTML/CSS. Oh well.

UPDATE:

User Flame suggested a more cross-browser compliant solution:

<p style="transform:rotate(180deg)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>  

http://jsbin.com/EjekuvuF/6

share|improve this answer
    
I guess you can use XML character references to salvage the situation. –  MvG Jan 24 at 9:51
2  
I like the idea behind the solution though. –  Sumurai8 Jan 25 at 10:39
    
I'll give props to it too... thought for some reason transform:rotate(.5turn) resolves to a Syntax error... I like the imagination put into this... –  WallyWest Jan 29 at 23:12
    
@WallyWest I didn't test in all browsers. I bet that might be browser-specific rather than the official W3C syntax. (Does work in Chrome, though) –  DA. Jan 29 at 23:33
1  
You should use ∀ instead of ɐ :) –  Timwi Feb 6 at 13:39

MATLAB, All bonuses: Score of -20 (40-60)

['' '¤ÏÏèÜÒØÕèÅÄÖÈèÄÕÈèÅÈÏÒÑÊè×ÒèØÖ'-99]

EDIT:

Note that I am not sure of what the system requirements are to run this, tested on windows. For those struggeling to copy, a similar code can be generated like so:

char('All your base are belong to us' + 99)

If it would have been allowed to ask anything as input, a solution with less characters (but also missing the bonus) would of course be possible.

input('')
share|improve this answer
    
Please explain how you plan to output anything using only input. The second answer is (afaik) just not true. –  someDoge Jan 23 at 19:01
2  
@Jhawins: MATLAB outputs the result of each expression that doesn't end in a semicolon. The input('') call doesn't end in a semicolon, hence it will generate output. –  Ben Voigt Jan 23 at 19:07
6  
If that's correct, then my JS answer is "prompt()" –  someDoge Jan 23 at 19:08
    
And shell would be dd, but perhaps that counts as an external resource. So would user input, of course. –  gerrit Jan 23 at 20:19
    
I tried running this and got the following: _A,,E9/52E"!3%E!2%E"%,/.'E4/E5`3 I can understand the first answer, but the second answer requires input, which I said was not "required" –  WallyWest Jan 29 at 23:16

k (-7 = 53 - 60)

(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

doesn't include trailing newline, can be added at cost of one additional char:

(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

annoyingly, the only offsets that work for this trick are 154 and 155

edit:

if it's sufficient to display the string (rather than printing it), as i suspect the APL solution does (it doesn't work in http://tryapl.com/, so i can't test it properly), it's

  "c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&("
"All your base are belong to us"

which is -12 = 48 - 60. can i get a ruling on whether this is sufficient?

share|improve this answer
    
I never asked for a trailing newline... :) –  WallyWest Jan 29 at 23:16

dc, 97 - 60 = 37 91 - 60 = 31 88 - 60 = 28 81 - 60 = 21

3C87596P4d^8/P7958389P7479394P6386533P7C89P749698CP644848CP459 8^699 7^3849736388974773333 86-++P

Improved version (the main idea here is to vary the input base, to increase the chances of finding a useful big number with no problematic digits):

IDi67793554D647F84C836645D6569F69Pi6385C77P9i35PDdi6^I9^+6D59CD83D664D34+P8CPFi98CCF5PCi97P

In base 7, the whole thing can become a single number! Lower bases are naturally less compact, but the lack of fix-up operations here makes up for it.

7i4398873968644388737548444897643735447698675366869556798538985674336396359936458859886P

My first solution used base 10. My second used a mix of base 9, 10, 12, 13, and 15. This one is in base 7. I truly feel like all the base are belong to me.

Last one, seriously: Base 13 does a great job on the first segment, then base 7 for the rest.

Di67793554D647F84C836645D6569F69P7i798789699638355733695878558396339387963789536P
share|improve this answer
    
+1 for all the bases –  RobAu Dec 12 at 15:56

Python, 122 116 98 characters - 30 bonus = 92 86 68 points

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6fng \x74\x6f \x75\x73'

'All your base are belong to us'

I could get rid of the zeroes in Python 3.3 by replacing '\40' with \N{SP}, but alas, the N is not permitted.

Edit: Inspired by this answer, I've shortened it further by replacing \x40 by . Moreover, since I already use the 1, replacing \156 by n and \x67 by g shortens it by another 6 characters while incurring no extra penalty.

share|improve this answer
1  
I wonder if this is this a valid entry, because it only works the interactive shell. If you put this in a .py file and execute it, there is no output. –  Daniel Hepper Jan 23 at 13:00
1  
It depends... I believe there is no general rule. Some questions allow interactive mode, others don't. –  Bakuriu Jan 23 at 13:05
1  
I've posted the question on meta. –  gerrit Jan 23 at 13:15
1  
This works in R too –  Zach Jan 23 at 18:22
1  
@AaronHall And after my edit, I brought mine down to 68! –  gerrit Jan 26 at 15:24

Befunge 98 : 122 - 60 = 62

5f8+*:53-+:' \6-:5+' 91+:*3+::7+\8+:3-:7-:3-:' \3+::3-4+',' -+\4-:' \:4+\6+c+:f3+-:4+3-' '&3*:3+:6-:f+5-:' \d-:' '!+ff+k,@

Computes the ascii values, then prints them. I still need to try out other methods of forming the numbers to see if there are shorter ways.

share|improve this answer
    
I was wondering when you were gonna put your 2 bytes in... Nice work! –  WallyWest Jan 29 at 23:20

Ruby, 121 - 50 = 71

A bit brute force, but most of the cute methods are ruled out:

$><<[65,c=36*3,c,d=8*4,363/3,f=c+3,c+9,c+6,d,x=98,97,j=c+7,k=3+x,d,97,c+6,k,d,x,k,c,f,j-5,5+x,d,c+8,f,d,c+9,j].pack('C*')

Breaks rule #1 because of the A in pack, the other two should be OK.

share|improve this answer
    
I can save 6 chars if we're just returning the result rather than printing it, I wasn't clear on that after looking at the other answers. –  Chron Jan 23 at 4:07
1  
Extremely long, but no more “a”: pastebin.com/wnsvcAMh –  manatwork Jan 23 at 10:39
    
@manatwork I love it! Somehow I never thought of that, even though I'm using << in my answer. –  Chron Jan 23 at 21:59
    
So you either use the 154 character solution @manatwork has used and claim the 60 point discount which gives you 94, or stick with the non-Rule 1 version and go with the 71... I know which I'd use :) –  WallyWest Jan 29 at 23:19

Python, 195-40 = 155

x,w,y,z,v=4*8,55,56,57,58;exec(("%c"*38)%(y+y,z+z,49+y,w+w,v+v,39-7,34,65,54+54,54+54,x,v+63,48+63,48+69,z+z,x,98,97,59+y,45+y,x,97,z+z,45+y,x,98,45+y,54+54,w+y,w+w,45+v,x,v+v,w+y,x,v+59,z+v,34))
share|improve this answer

{ba,z}sh, 67 - 40  72 - 60 61 - 40 = 21

$'\x74r' K-~\#-\; _@-~\^-j<<<'Mxx ){%~ 3m#q m~q 3qx{z8 ${ %#'

Darn it, turns out I had a r in there that I hadn't noticed, so the 20 bonus doesn't apply!

share|improve this answer
1  
In the zsh and bash versions I have handy, $'\x74\x72' can be used directly as a command name, saving you 8 characters for the $(m4<<<). Doesn't it work that way for you? –  Wumpus Q. Wumbley Jan 24 at 14:50
    
And after looking at it again... using \x72 as a replacement for r gets you the 20 point bonus at the cost of losing the 30 point bonus (for the 2) –  Wumpus Q. Wumbley Jan 24 at 15:10
    
@WumpusQ.Wumbley oh, you're right on both accounts. I didn't think of the 2 used there, let me see if I can find a way to get rid of it and avoid losing any bonuses. –  FireFly Jan 24 at 15:33
    
Holy sh#t, that was ingenious! This looks like a Reverse ROT12 ASCII cypher... (am I right?) nicely done! –  WallyWest Jan 29 at 23:29
    
Nice answer. But does tr count as an external resource? –  DigitalTrauma Jan 29 at 23:59

JavaScript

(306 characters - 60 bonus = 246) (206 characters - 50 bonus = 156)

(123 chars = 173 chars - 50 bonus)

Kind of nooby, probably could get more off... Let me know if I've stuffed something up, this alerts "All your base are belong to us". This is also ASCII-only.

(c=(''+!'')[4-3],x=([][3]+c)[6])[a='c\x6F'+x+'\x73t'+c+'uct\x6F'+c][a]('a\x6C\x65'+c+'t("A\x6C\x6C y\x6Fu'+c+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+x+'\x67 t\x6F u\x73")')()

If you count the console itself as output, this would also count (57 with bonus):

'A\x6C\x6C y\x6Fu'+(c=(''+!'')[4-3])+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+([][3]+c)[6]+'\x67 t\x6F u\x73'
share|improve this answer
    
Great approach, though a few letter subsitutions could have also allowed you the Rule-1 bonus as well... Good work. –  WallyWest Jan 29 at 23:34
    
@WallyWest: Thanks! The problem in JavaScript is that it's rather hard to get an "A" without breaking the other rules or using up way too many characters -- it would take up more than 10 characters alone. –  Qantas 94 Heavy Jan 29 at 23:43
    
True, you have to outweight the additional letters against the bonuses... Nice work though! –  WallyWest Jan 29 at 23:44

PHP (35 - 60 = -25 bytes)

HOW LOW CAN YOU GET ?[1][2]

$ xxd yourbase.php 
0000000: 3c3f 3d7e be93 93df 8690 8a8d df9d 9e8c  <?=~............
0000010: 9adf 9e8d 9adf 9d9a 9390 9198 df8b 90df  ................
0000020: 8a8c 3b                                  ..;

[1] This program can be decoded using xxd -r.
[2] Yeah, heavy solution reuse here. I think it's... third problem I solved this way. Perhaps I should move to something else, but it's not that this is not great for problems that forbid you from using most characters.

share|improve this answer
    
I don't get it, what are you trying to do here? –  WallyWest Jan 29 at 23:34

Bash, 52 - 10 - 30 = 12

The following is to be executed in a (still pretty common) ISO-8859-1 environment:

$'\x74r' À-þ  @-~<<<'Áìì ùïõò âáóå áòå âåìïîç ôï õó'

This calls tr, which translates the characters in a suitable way. I had to either use the r and violate rule 2, or use a digit in the escape and violate rule 3. Since 3 gives more bonus, I chose the former.

share|improve this answer
1  
Yes he did :) You cannot use "a", "b", "t", "u", or "y" in any case Also you need minimum two of the conditions –  cowls Jan 24 at 9:24
    
@cowls: Seems I completely missed that point, thanks for making it clear. Rewrote my answer to comply with that. –  MvG Jan 24 at 9:49
    
@MvG great re-work... Well done! –  WallyWest Jan 29 at 23:36
    
Does tr constitute an external resource? –  DigitalTrauma Jan 30 at 0:02
    
@DigitalTrauma: More like a standard library, I'd say, although this is sure subject to interpretation. But it's specified in the POSIX standard, so I guess any POSIX system has to have it, so it's part of the system. –  MvG Jan 30 at 6:50

Pure Bash (no external resources), 141 chars - 50 bonus = 91

Z=({k..v})
f=$'\x65'
h=$'\x6c'
i=$'\x6f'
j=${Z[7]}
k=$'\x73'
m=$'\x75'
$f$'\x63'h$i A$h$h y$i$m$j ba$k$f a$j$f b$f$h$i${Z[3]}$'\x67' t$i u$k

Intentionally dropping the 10-point bonus to get a better overall score.

This works on any bash version 3.00.15 or later that I have tried.

How does it work

There's no rocket science here - just bash expansions of one form or another:

  • Simple hex expansion to obtain required character. This works for characters whose hex representation doesn't contain [012]. e.g. $'\x65' gives us e
  • For other characters, we generate a bash array of sequential characters using brace expansion into an array initialization (Z=({k..v})). The start of the brace expansion is chosen carefully so that the indexes of the characters we require don't contain [012]. e.g. ${Z[7]} gives us r.
  • bash is flexible enough to allow its commands to be constructed from the contents of multiple strings. So $f$'\x63'h$i expands to echo.
  • For characters that are required only once, the expansion is inserted inline to the echo command string.
  • For characters that are required twice or more it is more efficient to expand them to variables, then reference the variables.

Previous answer with full bonus, but worse overall score:

Pure Bash (no external resources), 193 chars - 60 bonus = 133

I know this won't win, but I wanted to prove to myself this is possible in bash, while satisfying all requirements:

Z=({3..8} {C..z})
c=${Z[36]}
d=${Z[37]}
f=$'\x65'
h=$'\x6c'
i=$'\x6f'
j=${Z[53]}
k=$'\x73'
m=$'\x75'
$f$'\x63'h$i ${c^}$h$h $'\x79'$i$m$j $d$c$k$f $c$j$f $d$f$h$i${Z[49]}$'\x67' $'\x74'$i $m$k

This does require a fairly recent version of bash for the ${c^} parameter expansion. 4.2.25 is fine, but 3.2.48 is a no-go.

share|improve this answer
    
I take my hat off to you... I just executed this... nice work... Very nice work. –  WallyWest Jan 29 at 23:39
    
@WallyWest - I just edited in a shorter version. –  DigitalTrauma Jan 30 at 1:19

Brainfuck, 205 - 60 = 145 bytes

++++++++++++++++[->++++>++>+++++++>++++++>++++++++<<<<<]>+.>>----..<.>>>-------.<<+++.>>----.---.<<<.>>++.-.>+.<++++.<<.>>----.>-.<++++.<<.>>---.+++.<---.>>---.-.<<-----.<.>>>++++++.-----.<<<.>>>++++++.--.

Readable version:

++++++++++++++++[->++++>++>+++++++>++++++>++++++++<<<<<]
64 32 112 96 128

>+.>>----..<.                     All                 65 108 108  32
>>>-------.<<+++.>>----.---.<<<.  your           121 111 117 114  32
>>++.-.>+.<++++.<<.               base            98  97 115 101  32
>>----.>-.<++++.<<.               are                 97 114 101  32
>>---.+++.<---.>>---.-.<<-----.<. belong  98 101 108 111 110 103  32
>>>++++++.-----.<<<.              to                     116 111  32
>>>++++++.--.                     us                     117 115
share|improve this answer
    
Good effort! –  Timwi Feb 6 at 13:38
    
I kinda half-expected a Brainfuck solution eventually... Nice work! –  WallyWest Sep 10 at 23:37

Postscript, 364 - 40 = 324

I couldn't do it without loser, of course. :)

/${cvx exec}def
/+{<3C7E4F6F597E3E>$ $}def
/*{<~P&(~>$}def
/-{( )<3C7E4F754E7E3E>$ $ 3 4<~P#;~>$ 4 3<~P)#3FP'-~>$}def
/_{36(      )<~OoP~><3C7E4F754E7E3E>$ $ 4 3<~P,S~>$ 48<~P'?~>$
${96 3<~P#;~>$ + -}<~P">~>$}def
/.{_ 96 3<~P#;~>$ -}def
65 - 777 .
895 353 + _ 774 333 + .
74933 333 + 7 * 3 + 333 + .
9593 4353 + .
689653949 335 + .
735 333 + .
775 333 + _ 5 5 + -

This starts with encoding the text as base-36 strings:

%-=Encoding strings as base-36 numbers=-
%All your base are belong to us
% handle uppercase A separately
%36#ll = %777
%36#your = %1618515
%36#yo = 36#ur = 36#base = 36#are = 36#belong = 36#to = 36#us =
%1248 1107 527198 13946 689654284 1068 1108

And then removing the 1s and 0s and 2s arithmetically. The strings can then be regenerated with 36 <string-buf> cvrs, but this yields upper-case letters, so we then need to iterate through and add 0x20 to make them lowercase.

The operators cvx exec allow us to execute string fragments of binary-encoded operator tokens in various encodings. Simplest is to encode an operator in hex <92??> but there's a 2 in there! So the "first-level" encoding is ascii85. Then any strings that still contained forbidden characters went through extra levels of hex -> ascii85 -> hex -> ascii85.

share|improve this answer

Brainfuck, 306 - 60 = 246

----[---->+<]>++.[--->+<]>+..[++>---<]>--.--[->++++<]>+.----------.++++++.---.[-->+++++<]>+++.[--->+<]>++.-.--[--->+<]>--.++++[->+++<]>.--[--->+<]>-.[--->+<]>+.--[--->+<]>---.-------------.--[--->+<]>-.[--->+<]>++.+++.+++++++.+++.-.-------.-[--->+<]>--.---[->++++<]>.-----.[--->+<]>-----.---[->++++<]>+.--.
share|improve this answer

AAAAAAAAAAAAAA!!!!, 36 - 50 = -14*

AAA AAAA AA A! AA AAA A! AA AAAA AA!

* Requires user input (this was not forbidden, AA HA!)

share|improve this answer
    
Is there a way to verify this? –  Dennis Jaheruddin Jan 23 at 15:15
    
One of the samples for that language has about 3 hundred characters to output the word "He", so he's probably depending on user input? –  McKay Jan 23 at 15:30
    
So, the first instruction is "Input a character and store at index 2" (index 2 is the golfiest index for this language) second instruction is "Output Character at index 2", third is "End program". So even if the user cooperates, it will at most get the first of the characters. –  McKay Jan 23 at 15:33
    
He probably wanted the sample program of: AAAAA A! AAA AAAA AA A! AA AAA AAAAA, A! AAA AA A! AA AAAA AA! which allows the user to type anything, and have it be outputted. –  McKay Jan 23 at 15:35
3  
Hah. Just wait 'til the OP adds the rule "no capital 'A' " . Then you'll have to recompile the whole thing into "BBBBBBBBBBBBBBB!!!!" code. –  Carl Witthoft Jan 23 at 15:42

Brainfuck, (227 - 60 = 167)

+++++ +++++[>+++>++++++>+++++++++>++++++++++<<<<-]>>+++++.>>++++++++..<<<++.>>>+++++++++++++.----------.++++++.---.<<<.>>++++++++.-.>+.<++++.<<.>>----.>-.<++++.<<.>>---.+++.>------.+++.-.<++.<<.>>>++++++.-----.<<<.>>>++++++.--.
share|improve this answer

BF-RLE, 150 - 30 = 120

+5[>+5<-]>+.<+4[>+3<-]>+..>>+3[<+2>-]<++.<+10.-7.+3.-0.>.<<+1[>-1<-]>.-.<+0[>+3<-]>.-11.>.<-1.<+1[>+1<-]>+.-10.>.<-0.+0.+4.+0.-.-4.>.<+10.-2.>.<+3.--.
share|improve this answer

Python, 181 - 40 = 141

[I'm using version 2.7.2 YMMV - the builtin, file is gone in python 3.X]

f=file.__doc__;c=5-3;l=f[c];s=' ';e=f[3];h=f[6+7];i=f[c*87];j=3**3;f[j*c*5]+l+l+s+f[-57]+h+f[j-7]+f[j-3]+s+f[j-8]+f[6]+i+e+s+f[6]+f[j-3]+e+s+f[j-8]+e+l+h+f[5]+f[j]+s+f[45]+h+s+f[j-7]+i
share|improve this answer

PHP, 186 - 10 - 30 = 146

I had to get a little creative ;)

 <?=chr(65).'ll '.chr(88+33).'o'.chr(39*3).'r '.chr(98).chr(97).'s'.chr(68+33).' '.chr(97).chr(38*3).chr(68+33).' '.chr(98).'elo'.chr(77+33).chr(69+34).' '.chr(83+33).'o '.chr(39*3).'s'?>
share|improve this answer
    
you could still golf it a little and mantain the answer idea: echo doesn't require parentheses(1), you can use <?= instead of echo(4), you can save the repeated letters in variables ('l', ' '). use 54*2 instead of 54+54 –  Einacio Jan 24 at 15:31
1  
Fixed. I could only do multiplying on certain ones. I can't do 54*2 because that it has a 2 in it, so I could only do it with ones that had 3 or higher has a factor. If I use a decimal, then there's no less characters. –  ub3rst4r Jan 24 at 17:26

In PHP Simple base64 decoding method can achieve the op

<?php echo base64_decode(QWxsIHlvdXIgYmFzZSBhcmUgYmVsb25nIHRvIHVz); ?>
share|improve this answer
1  
Doesn't meet the conditions of at least 2 of the bonuses. –  Gareth Jan 25 at 22:30
    
Still, valiant attempt. –  WallyWest Jan 29 at 23:40

Python (104 - 30 = 74)

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'
'All your base are belong to us'

And score:

>>> len(r"'\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'")-30
74
share|improve this answer
    
Nicely done, but you really didn't need to do the same for determining the score... ;) –  WallyWest Jan 29 at 23:17

Bash, 3 - 50 = -47

cat

Interpreting "no input required" to mean "not required to take input" as opposed to "require no input"

share|improve this answer
7  
Yawn. If this is allowed, my score using Sclipting is −60 because the empty program is a cat program. –  Timwi Jan 23 at 16:17
1  
I'll beat you by a point with '!!' with the precondition that the previous command be one that outputted the correct string. –  Retsam Jan 23 at 19:15
2  
The program must not use external resources. User input is an external resource. –  gerrit Jan 23 at 20:22
1  
@gerrit: So is RAM if we're going to get pedantic, see Retsam's comment :P –  Mark K Cowan Jan 23 at 22:42
    
@MarkKCowan Can't accept this... this is like: 10 INPUT A 20 PRINT A And entering "All your base are belong to us" at the prompt... –  WallyWest Jan 29 at 23:37

GolfScript, 36 - 30 = 6

'Bmm!zpvs!cbtf!bsf!cfmpoh!up!vt'{(}%

Edit: I see Howard had the same idea, using unprintable characters.

share|improve this answer
    
You fail at least two of the conditions, rendering this answer invalid. (I can see several bs (condition # 1) and several ss (condition 2)) –  Quincunx Jan 23 at 8:09
    
@Quincunx They're not required conditions, they just afford bonuses if you complete them. By your comment he would still get the 3rd bonus (hence the -30). However, it looks to me like there's an o in there too, so the score should be 36. –  starsplusplus Jan 23 at 8:56
6  
At least 2 of the 3 bonuses are required. –  user2357112 Jan 23 at 8:58
    
You are correct. Also I misread the third condition - it's 0 not o. Wrong on two counts! –  starsplusplus Jan 23 at 9:01
    
@Quincunx Oops, you're right. No bonus, so it's still 36. –  Remy Jan 23 at 9:03

protected by Community Feb 2 at 23:05

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.