すべてのベースは私たちのものです(制限付き)


57

入力は必須ではなく、出力は「All your base are belong to us」にする必要があります。

制限事項

  • 外部リソースはありません。

    さらに、次のうち少なくとも2つ:

  • コードでは、「a」、「b」、「t」、「u」、または「y」を使用できません(これを行うことができる場合、ゴルフスコアに-10のボーナス)

  • コードのどの場合でも「l」、「o」、「s」、「e」、または「r」を使用することはできません(これを行うことができる場合、ゴルフスコアに-20のボーナス)

  • コードのどの場合でも、「n」、「g」、「0」、「1」、または「2」を使用することはできません(これを行うことができる場合、ゴルフスコアにボーナス-30)

たとえば、40文字でコードを処理し、ルール1と2を使用すると、ゴルフスコアは40-10-20 = 10文字になります。

最小のコードゴルフスコアが勝ちます。幸運を祈ります!


5
を宣言するstringchar、3つの制限すべて、varおよびがWrite破られ、それぞれ2つが破られます。これは有効な答えを得るのが難しいだろう、Bar Barfuckかもしれない。
Hand-E-Food 14年

7
「入力不要」。それは、たとえばprint(input())(python)のようなことをすることができるという意味ではありませんか?ユーザーは正しい文字列を入力する必要がありますが、それは禁止されていません。
ジャスティン14年

5
@Quincunx コードが正しいソリューションを出力することが保証されていないため、私はそのようなソリューションを受け入れません。また、stdinおそらく「外部ソース」です。
nitro2k01 14年

2
@PranavHosangadiこの質問に対する回答は削除されており、スコアは-6で、本質的には同じです。これはさまざまな質問で何度も行われており、code-golfタグでは明示的に禁止されています
ガレス14年

1
code-golfの標準ルールのlatin1 / unicode / nameの回答によると、charmapはutf-8への変換後にバイト単位で評価されます。そのように数えるのですか、それとも別のスコア方法を選択しましたか?現在のリーダーは、-40ではなく0になります。
シルウェスター14年

回答:


4

SOGL V0.12、15-60 = -45

šz█P'zUS½█│β3‘⁾

ここで試してみてください!

šz█P'zUS½█│β3‘圧縮された文字列であるall your base are belong to usが、その正確な文字列が含まれている圧縮されたので0、それは3つの部分に分かれています:all your base are belong to us(1つのバイトを要するが、-30バイトのボーナスを与えました)。最初と最後の文字列は、SOGLの英語辞書で圧縮され、暗黙的にスペースで結合されます。残りは組み込みの単純な文の場合です。
SOGLはこの課題を後回しにしていますが、現在は許可されています。


私はただ尋ねる必要があります...どのように??? ここで巧妙な圧縮技術を扱っていますか?私は... SOGLについて何も知らない
WallyWest

45

GolfScript、-22(38文字、-60ボーナス)

"„¯¯c¼²¸µc¥¤¶¨c¤µ¨c¥¨¯²±ªc·²c¸¶"{67-}%

4
これはどのように作動しますか?
帽子を持つ男

37
@RyanCarlsonマジック。
ハワード14年

4
"..."文字列を定義し、ブロック{}%はすべての文字に対してマッピング操作を実行します。ブロック内では、ascii値がスタックで利用可能であり、67-各ascii値から67 を引きます。
ハワード14年

4
大文字と小文字はおそらく間違った言葉ですが、私が言っていることはご存じでしょう。上付き文字2はまだ2であると確信しているので、ルール3は満たされていません。
トレント14年

3
@FizzBu​​zzあなたが言おうとしていることは知っていますが、重要なのは2と²が異なるコードポイントを持つ異なるグリフであることだと思います。表示的な意味で、それらは同じシンボルであるという議論をすることができますが、質問のメリットよりもはるかに抽象的な解釈だと思います。
ジョーダングレイ

36

スクリッピング、-40

뀖롬긇땯덗긠눦굳뉒걡댦넠눦녬닶멧긇끯긇녳
  • = 20文字-60ボーナス
  • 入力が空の場合にのみ機能します。そうでない場合は、前に追加して、スコアを-39に変更します。
  • この回答が明らかにそうであるように、入力を自分が望むものと仮定できる場合、空のプログラムは解決策であり、私のスコアは-60です。

さて、"input is not required"私が言ったように、frontを前に投げてスコアを-39に変更しますが、大変な努力です!特にあなたが言語を発明したことを考えると、男!
WallyWest

1
韓国人がコードで韓国語の音節を見るのは驚くべきことです。
マシュー盧

29

JavaScript-140バイト-60ボーナス= 80ポイント

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

Firefoxで実行します。

私はあなたが考えていることを知っています。いいえ、質問にリストされているキャラクターではありません。これらは、キャロン、またはハーチェク(発音区別記号のリストからランダムに選択)を持つキャラクターです。たとえそれらがマークを結合していても、それらは2つの別個の文字ではありません。


Node.js REPL:String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
ニックインディアナス

28

APL(43-30-20 = -7)

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

これはルール2および3を満たします。


これは打ちにくいです!
ポール・プレスティッジ14年

1
これは結果を返すか、印刷しますか?
アーロンデイヴィス14年

@AaronDavies:両方、結果は自動的に印刷されます
マリナス14年

@marinus TryAPL.comでこれを試してみましたが、エラーが発生しました。おそらく、AVの前の最初の文字と末尾のINVALID TOKEN文字から...これをテストできる場所は他にありますか...?
WallyWest

@WallyWest:Dyalog APL(dyalog.com)を使用します。未登録バージョンを入手してください。無料です。TryAPLは非常に制限されているため、ほとんど役に立たない。
マリヌス14年

28

Brainfuck、267〜60 = 207

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

それをさらに減らすことはできますか?:)
WallyWest 14年

2
fbonettiはBrainfuckの回答でより良い結果を出しました。
ハンドEフード14年

2
そして、FIQは4日後にさらに良くなりました
シュナーダー14

22

HTML / CSS 70

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

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

私は逆さまのタイプでは賢いと思っていましたが、実際のHTML / CSSでは補助的なルールを満たせないことに気付きました。しかたがない。

更新:

ユーザーFlameは、よりクロスブラウザに準拠したソリューションを提案しました:

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

http://jsbin.com/EjekuvuF/6


XML文字参照を使用して状況を改善できると思います。
MvG 14年

3
しかし、ソリューションの背後にあるアイデアが好きです。
Sumurai8

私はいくつかの理由が考えは...あまりにもそれに小道具を与えるでしょうtransform:rotate(.5turn)、私はこれに入れて想像力を好き...構文エラーに解決...
WallyWest

@WallyWestすべてのブラウザでテストしたわけではありません。公式のW3C構文ではなく、ブラウザー固有のものである可能性があります。(ただし、Chromeで動作します)
DA。

3
ɐの代わりにuseを使用する必要があります:)
Timwi 14

12

MATLAB、すべてのボーナス:-20(40-60)のスコア

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

編集:

これを実行するためのシステム要件がわからないので注意してください。Windowsでテストされています。コピーに苦労している人のために、同様のコードを次のように生成できます。

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

入力として何かを尋ねることが許可されていた場合、当然ながら、文字数の少ないソリューション(ただし、ボーナスもありません)が可能になります。

input('')

のみを使用して何かを出力する方法を説明してくださいinput。2番目の答えは(afaik)真実ではありません。
DJSpud 14年

2
@Jhawins:MATLABは、セミコロンで終わらない各式の結果を出力します。input('')呼び出しは、それゆえ、それは出力を生成します、セミコロンで終わりません。
ベンフォークト

6
それが正しいなら、その後、私のJSの答えは「あるprompt()
DJSpud

シェルはになりますがdd、おそらく外部リソースとしてカウントされます。もちろん、ユーザー入力も同様です。
ゲリット14年

これを実行してみましたが、次のものが得られました:_A ,E9 /5 2E "3E2E" %/'E 4/ E5`3私が最初に答えを理解することができますが、2番目の答えは私がいないと述べた入力が必要です『』必要なの
WallyWest

10

k(-7 = 53-60)

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

末尾の改行を含まず、1文字の追加コストで追加できます。

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

迷惑なことに、このトリックで機能するオフセットは154と155だけです

編集:

文字列を表示するのに(印刷するのではなく)十分である場合、APLソリューションが動作するのではないかと疑っています(http://tryapl.com/では機能しないため、適切にテストできません)。

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

これは-12 = 48-60です。これで十分かどうかを判断できますか?


私は末尾の改行を要求しませんでした... :)
WallyWest 14年

10

DC、97-60 = 37 91-60 = 31 88-60 = 28 81-60 = 21

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

改善されたバージョン(ここでの主なアイデアは、入力ベースを変更し、問題のない数字で有用な大きな数字を見つける機会を増やすことです):

IDi67793554D647F84C836645D6569F69Pi6385C77P9i35PDdi6^I9^+6D59CD83D664D34+P8CPFi98CCF5PCi97P

ベース7では、全体が1つの数字になります!低いベースは自然にコンパクトではありませんが、ここで修正操作の欠如はそれを補います。

7i4398873968644388737548444897643735447698675366869556798538985674336396359936458859886P

私の最初のソリューションを使用ベース10私は、第二、私は本当にすべてのベースのように感じるこの1つはベース7にあるベース9、10、12、13のミックスを使用し、15 ある私に属しています。

最後の1つ、真剣に:ベース13は最初のセグメントで素晴らしい仕事をし、残りはベース7です。

Di67793554D647F84C836645D6569F69P7i798789699638355733695878558396339387963789536P

つまり、ベース7はすべてあなたに属しています、@ Wumpus?
WallyWest

10

Python REPL、122 116 98文字-30ボーナス= 92 86 68ポイント

>>> '\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'

Python 3.3 では、「\40」を\N{SP}に置き換えることでゼロを取り除くことができましたが、残念ながら、これNは許可されていません。

編集この答えに触発され、私はさらに短縮しまし\x40。私はすでに使用ので、1、置換\156によってnおよび\x67によってはg余分なペナルティを負うない間、別の6つの文字でそれを短縮することができます。


1
これが有効なエントリであるのかどうかは、対話型シェルでのみ機能するためだろうか。これを.pyファイルに入れて実行すると、出力はありません。
ダニエル・ヘッパー14年

1
それは依存します...私は一般的なルールがないと信じています。インタラクティブモードを許可する質問と許可しない質問があります。
バクリウ14年


1
これはRでも動作します
ザック14年

1
@AaronHallそして、編集後、私は68に引き下げました!
ジェリット14年

8

Brainfuck、205 203-60 = 145 143バイト

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

読み取り可能なバージョン:

++++[->++++<]>[->++++>++>+++++++>++++++>++++++++<<<<<]
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


私は最終的にBrainfuckソリューションを半分期待していました...素晴らしい仕事です!
WallyWest

7

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,@

ASCII値を計算してから出力します。もっと短い方法があるかどうかを確認するために、数字を形成する他の方法を試す必要があります。


2バイトを入れるのはいつかと思っていました...
WallyWest

7

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))

6

ルビー、121-50 = 71

少し強引ですが、ほとんどのかわいいメソッドは除外されています:

$><<[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*')

A inのためにルール#1を破りpackます。他の2つはOKです。


結果を印刷するのではなく単に返す場合、6文字を節約できますが、他の答えを見た後、それについては明確ではありませんでした。
ポール・プレスティッジ14年

1
:非常に長いが、これ以上の「A」pastebin.com/wnsvcAMh
manatwork

@manatwork大好き!どういうわけか、私は<<私の答えで使用しているにもかかわらず、それについて考えたことはありません。
ポール・プレスティッジ14年

だから、私は:)使用したいかを知る...使用している@manatwork 154文字ソリューションを使用して、あなたに94を与える60のポイント割引を主張する、または非規則で1つのバージョンを固執し、71で行くのいずれか
WallyWest 14年

6

{BA、Z} SH、67から40 72から60 61 - 21 = 40

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

それくそ、私が持っていたが判明しr、私は気づいていなかったことそこに、その20回のボーナスは適用されません!


1
便利なzshとbashのバージョンでは$'\x74\x72'、コマンド名として直接使用でき、の8文字を節約できます$(m4<<<)。それはあなたのためにそのように機能しませんか?

そして、それをもう一度見て... \x72の代わりに使用するとr、30ポイントボーナスを失う代わりに20ポイントボーナスが得られます(2

@ WumpusQ.Wumbleyああ、あなたは両方のアカウントで正しい。私は2そこで使われることを考えていませんでした、それを取り除く方法を見つけて、ボーナスを失うことを避けることができるかどうか見てみましょう。
ホタル14年

神聖な##、それは独創的でした!これはReverse ROT12 ASCII暗号のように見えます...(私は正しいですか?)うまくできました!
WallyWest

素敵な答え。しかしtr、外部リソースとしてカウントされますか?
デジタル外傷14年

5

C、75バイト-60 = 15

50から33および19から15にスコアを下げてくれた@gastropnerに感謝します!

*q,i;f(p){(*(q=p)="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9J"[i++]^74)?i=!f(++p):i;}

入力としてchar配列のアドレスを取得し、配列に文字列を書き込みます。

オンラインでお試しください!

で呼び出す:

int main()
{
    char s[128];
    f(s);
    puts(s);
}

出力:

古いバージョン(90バイト-40 = 50):

*q,i,j;f(p){for(i=3-3;j="Epp$}s v$fewi$evi$fipsrk$xs$ w"[i++];*q=j!=35-3?j-4:353/3)q=p++;}

1
これをリフティングし、XORと再帰の力を使用して、93-60 = 33バイトに到達できます*q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
。– gastropner

@gastropnerありがとう!
Steadybox

行くことができるi=i<30別の2つのバイトオフのために。
ガストロプナー

@gastropnerは使用できません0
Steadybox

ああ、もちろんです!
ガストロプナー

4

JavaScript

(306文字-60ボーナス= 246) (206文字-50ボーナス= 156)

(123文字= 173文字-50ボーナス)

ヌーボーのような、おそらくもっと降りることができます...私が何かを詰め込んだかどうか、私に知らせてください。これもASCIIのみです。

(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")')()

コンソール自体を出力としてカウントすると、これもカウントされます(57ボーナス付き):

'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'

素晴らしいアプローチですが、いくつかの文字の置換により、ルール1のボーナスも可能になります。
WallyWest

@WallyWest:ありがとう!JavaScriptの問題は、他の規則を破ったり、あまりにも多くの文字を使用したりせずに「A」を取得するのはかなり難しいことです。
カンタス94ヘビー14年

確かに、ボーナスに対して追加の文字を上回る必要があります...
WallyWest

x=(c.t+c)[6]少し短いです
チャールズ

また、evalハッキングが簡単かもしれ
ません

4

Brainfuck、(227-60 = 167)

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

最初のスペース+++++ +++++が必要だとは思わない?226バイトの可能性があります。
FinW

3

PHP(35-60 = -25バイト)

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]このプログラムはを使用してデコードできますxxd -r
[2]ええ、ここで重いソリューションを再利用します。私はそれが...この方法で解決した3番目の問題だと思います。おそらく別の場所に移動する必要がありますが、ほとんどのキャラクターを使用することを禁じている問題にとってこれが素晴らしいというわけではありません。


わかりません、ここで何をしようとしていますか?
WallyWest

@WallyWest彼は文字列をビット反転させました。その結果、31個の拡張ASCII文字が生成されます。PHPは定数名として解釈しようとしますが、そのような定数は文字列として解釈されないためです。この文字列はで否定されます~
タイタス

3

Bash、52-10-30 = 12

以下は(まだかなり一般的な)ISO-8859-1環境で実行されます。

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

これtrにより、適切な方法で文字が変換されます。rルール2を使用して違反するか、エスケープで数字を使用してルール3に違反する必要がありました。3の方がボーナスが多いため、前者を選択しました。


1
はい、彼は:)あなたは、「A」、「B」、「T」、「U」、または「Y」を使用することはできませんでしたどのような場合にも、あなたが条件の最小2が必要
カウル

@cowls:その点を完全に見落としていたようです。それに準拠するために私の答えを書き直しました。
MvG 14年

@MvG素晴らしい再作業...よくやった!
WallyWest

ないtr外部のリソースを構成していますか?
デジタル外傷14年

@DigitalTrauma:標準ライブラリに似ていると思いますが、これは確かに解釈の対象となります。しかし、これはPOSIX標準指定されているため、POSIXシステムにはそれが必要であると思われるため、システムの一部です。
MvG 14年

3

Pure Bash(外部リソースなし)、141文字-50ボーナス= 91

Z =({k..v})
f = $ '\ x65'
h = $ '\ x6c'
i = $ '\ x6f'
j = $ {Z [7]}
k = $ '\ x73'
m = $ '\ x75'
$ f $ '\ x63'h $ i A $ h $ hy $ i $ m $ j ba $ k $ fa $ j $ fb $ f $ h $ i $ {Z [3]} $' \ x67 't $ iu $ k

10ポイントのボーナスを意図的に落として、全体的なスコアを向上させます。

これはbash、私が試したバージョン3.00.15以降で動作します。

仕組み

ここにはロケット科学はありません-何らかのbash形の拡張だけです:

  • 必要な文字を取得するための単純な16進拡張。これは、16進表現にが含まれていない文字に対して機能します[012]。例えば$'\x65'、私たちに与えますe
  • その他の文字については、ブレースを配列初期化(Z=({k..v}))に展開することにより、連続文字のbash配列を生成します。必要な文字のインデックスが含まれないように、ブレース展開の開始は慎重に選択されます[012]。例えば ${Z[7]}私たちに与えrます。
  • bash複数の文字列の内容からコマンドを作成できるほど柔軟です。に$f$'\x63'h$i展開しechoます。
  • 1回だけ必要な文字の場合、展開はechoコマンド文字列にインラインで挿入されます。
  • 2回以上必要な文字については、変数に展開してから変数を参照する方が効率的です。

前の回答にフルボーナスがありますが、全体的なスコアは悪いです:

Pure Bash(外部リソースなし)、193文字-60ボーナス= 133

私はこれが勝てないことを知っていますがbash、すべての要件を満たしながら、これが可能であることを自分自身に証明したかったです:

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

これにはbash${c^}パラメーター拡張のためのかなり最近のバージョンが必要です。4.2.25は問題ありませんが、3.2.48は禁止です。


私はあなたに私の帽子を脱ぎます...私はこれを実行しました...素晴らしい仕事...とても素晴らしい仕事です。
WallyWest 14年

@WallyWest-短いバージョンで編集しました。
デジタル外傷14年

3

追記、364-40 = 324

loserもちろん、それなしではできませんでした。:)

/${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 + -

これは、テキストをbase-36文字列としてエンコードすることから始まります。

%-=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

そして、1と0と2を算術的に削除します。その後、文字列はで再生成できますが36 <string-buf> cvrs、これにより大文字が生成されるため、0x20を繰り返し処理して小文字にする必要があります。

演算子をcvx exec使用すると、さまざまなエンコーディングでバイナリエンコードされた演算子トークンの文字列フラグメントを実行できます。最も単純なのは、16進数で演算子をエンコードする<92??>ことですが、そこには2があります!したがって、「第1レベル」エンコーディングはascii85です。禁止された文字がまだ含まれている文字列は、16進数-> ascii85-> 16進数-> ascii85の余分なレベルを通過しました。


2

Brainfuck、306〜60 = 246

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

どうにかしてこれを減らすことができますか?
WallyWest

@WallyWest理由もなく、このようなプログラムを5%減らす時間はありません。
ティムテック

ここでは義務は必要ありません:)
WallyWest

@WallyWestあなたはそれを短縮することについて正しいです。いくつかの大きな改善を使用できます。
ティムテック

2

PHP、186-10-30 = 146

私は少し創造的になる必要がありました;)

 <?=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'?>

あなたはまだそれを少しゴルフして答えのアイデアを維持することができます:エコーは括弧(1)を必要とせず<?=、エコー(4)の代わりに使用することができ、変数に繰り返し文字を保存することができます(「l」、「」)使う54*2代わりに54+54
Einacio

1
一定。私は特定のものだけで乗算を行うことができました。私は54*2それがそれを持っているのでできないので、23以上の要素を持っているものでしかできませんでした。小数を使用する場合、それ以下の文字はありません。
ub3rst4r 14年

いくつかのゴルフのヒントで50バイトを節約できます。その大部分(23 + 9バイト):残りのchr(68+33)and chr(38*3)はリテラルeandに置き換えることができrます。
タイタス

1

Python、181-40 = 141

[バージョン2.7.2 YMMVを使用しています- fileビルトインは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

1

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'

そしてスコア:

>>> 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

うまくできましたが、スコアを決定するために実際に同じことをする必要はありませんでした...;)
WallyWest 14年

1

おたふく風邪、150-60 =90。40 = 110

S J=" ",Z=36*3,C=37*3,D=38*3,Q=39*3,I=35*3-4 W *65,*Z,*Z,J,*484/4,*C,*Q,*D,J,*98,*97,*C+4,*I,J,*97,*D,*I,J,*98,*I,*Z,*C,*D-4,*Z-5,J,*C+5,*C,J,*Q,*C+4

コードボーナスの1つを取得しないことで、短く(全体的に)できたかどうかはわかりません。私の目標は、短さを少し減らし、-60を少し増やしました。制限された文字のいずれか。

そして...私はそれを間違えました-最初の「S」コマンドを逃しました。:-/

とにかく、ここに「ルールなし」バージョンがあります-変​​数を展開します。

W *65,*36*3,*36*3," ",*484/4,*37*3,*39*3,*38*3," ",*98,*97,*37*3+4,*35*3-4," ",*97,*38*3,*35*3-4," ",*98,*35*3-4,*36*3,*37*3,*38*3-4,*36*3-5," ",*37*3+5,*37*3," ",*39*3,*37*3+4

そして、それは177-60 = 117のスコアを与えます。したがって、中央の規則を破ると、全体のスコアが低くなります。


興味深い回答...このコードを実行するためにアクセスできるオンラインエミュレータはありますか?
WallyWest

1
あなたがしたい場合はラズベリーパイ上で実行されますでもバージョンがあります-ではない私の知る限りでは、しかし、ちょうど約すべてのプラットフォーム上で実行おたふく風邪のためのバージョンがあり、非常に小さいおたふく風邪のマシンが... :-)
zmerch

1

Perl 5、99 − 50 = 49

必要な文字列を返すサブルーチン:

{A.($c=h|d)."$c y".($f=f|k).u.($k=p|b)." ba".($j=c|p).($d=d|a)." a$k$d b$d$c$f".(jf|fc)." t$f u$j"}

このように印刷されているのを見てください:

perl -e'print sub{...}->().$/'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.