数字を使わずに、できる限り最高の給料をもらいましょう。しかし、誇張しないでください!


227

求人広告に給与が記載されていない求人に応募する際、候補者が自分の給与を「ゴルフ」で決める可能性を与える、特に邪悪なインタビュアーを想像しました。

したがって、次のようになります。

数字を使用せずに、提供する年salを出力するコードを記述します。

ただし、簡潔なコードを記述できることは、この会社の基礎です。そこで彼らは非常にタイトな年功序列を実装しました

bバイトの長さのコードを書く雇用者は、最大($ 1'000'000)・b -0.75を稼ぐことができます。

私たちは見ています(これらは整数部であり、表示上の理由のためです):

   1 byte  → $1'000'000       15 bytes → $131'199
   2 bytes →   $594'603       20 bytes → $105'737
   3 bytes →   $438'691       30 bytes →  $78'011
   4 bytes →   $353'553       40 bytes →  $62'871
  10 bytes →   $177'827       50 bytes →  $53'182

挑戦

入力を受け取らず、ドル記号($、U + 0024)および数値の10進表現(整数または実数)を含むテキストを出力するプログラムまたは関数を作成します。

  • コードに文字を含めることはできません0123456789

出力では:

  • オプションで、ドル記号と数字の間にスペースを1つ挿入できます。

  • 末尾および先頭の空白と改行は許容されますが、その他の出力は禁止されています。

  • 数字は、文字のみを使用して10進数として表現する必要があります0123456789.。これは、科学表記法の使用を除外します。

  • 小数点以下の桁数は許可されます。

エントリは、出力する値が($ 1'000'000)・b -0.75より大きくない場合有効です。ここで、bはソースコードのバイト長です。

出力例(引用符は出力しないでください)

"$ 428000"            good if code is not longer than 3 bytes
"$321023.32"          good if code is not longer than 4 bytes
"  $ 22155.0"         good if code is not longer than 160 bytes
"$ 92367.15 \n"       good if code is not longer than 23 bytes
"300000 $"            bad
" lorem $ 550612.89"  bad
"£109824"             bad
"$ -273256.21"        bad
"$2.448E5"            bad

スコア

出力する値はスコアです!(もちろん、最高の給料が勝ちます。)


リーダーボード

これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。

回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。

# Language Name, $X (Y bytes)

Xあなたの給与はどこにあり、Yあなたの提出のサイズです。(Y bytes答えはどこでも構いません。)スコアを改善する場合、古いスコアをストライクして見出しに残すことができます。例えば:

# Ruby, <s>$111111.111... (18 bytes)</s> <s>$111999 (17 bytes)</s> $123456 (16 bytes)

言語名をリンクにすると、リーダーボードスニペットに表示されます:

# [><>](http://esolangs.org/wiki/Fish), $126,126 (13 bytes)


編集:(丸め)より速い参照のために、バイトカウントごとの最大許容スコア- ここにテキスト

ここに画像の説明を入力してください


61
これは、非常に数少ない(imo)成功した​​非固定出力、非入力、非ランダムチャレンジの1つです。ユニークなアイデア!
ミスターXcoder

2
ナイスチャレンジ!必要に応じて、完全にフォーマットされた通貨値を出力できますか?の$80,662.67代わりに$80662.6659?あなたのルールはコンマを除外しているようです。つまり、組み込みの通貨関数を使用できませんでした。
BradC

6
気にしないでください。バイトではなくスコアでソートするリーダーボードスニペットのバリエーションを追加しました。素晴らしい最初の挑戦!
ETHproductions

9
新しい寄稿者タグに気づきました。よく構築挑戦、これは年のこの年の新人王の資格を得ることができれば、わずか数日でこのような高いupvoteと回答の膨大な量で、私は疑問に思う;)
Shieru Asakoto

2
このチャレンジは、先ほど言ったように、Best of PPCG 2018の「Rookie of the Year-Challenges」カテゴリの候補としてノミネートしました。
朝琴シエル

回答:


109

bash、127127ドル

x;echo \$$?$?

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

以来xコマンド、そのエラーを存在しないとに終了コードを設定します127

次に、コードは$?2回続けてドル記号を出力します。$?変数格納直前のコマンドの終了コードので、この出力$12712713バイト


52
Macを使用していて、XQuartzをインストールしている場合は十分に面白いことに、これx 存在するため機能しません。ボーナスとして、それを開こうとするとクラッシュしたので、$11代わりに手に入れました!
numbermaniac

13
]代わりに使用xします。前者は存在する可能性が低くなります。
pts

@numbermaniacまた、ubuntu 19.04にインストールするためのコマンドe、q、rが見つかりました。しかしw、これは(に近いwho)ものであり、正常に終了するため、$ 00を取得できます!
val

67

Java 8、$ 131,199.00(15バイト)

v->"$"+'e'*'ԓ'

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

説明:

v->            // Method with empty unused parameter and String return-type
  "$"+         //  Return a dollar sign, concatted with:
      'e'*'ԓ'  //  131199 (101 * 1299)

131,199.00<131,199.31

プログラムを使用[32, 126]て、を除算したとき131199に10進数値が最小になる範囲で印刷可能なASCII文字を生成しました。均等に101分割できるため131199、結果はになり1299、バイトカウント15に基づいて、可能な限り最高の給与に31セントしか足りません。


12
ダン、印象的に効率的なスコア!
ETHproductions


41

CJam、(5バイト)$ 294204.018 ...

'$PB#

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

説明:

デニスの答えから導き出しましたが、より高い結果が得られる数字の組み合わせを探しました。ほとんどあきらめましたが、それがPの変数であり、。CJam のレターの値は11で、上記のコードを示しています。π 11294000ππ11294000B


6
あなたのスコアはあなたの給料なので、あなたはそれをヘッダーに記載する必要があります。この答えは現在勝っています。:)
デニス

37

R、20バイト、$103540.9

T=pi+pi;cat("$",T^T)

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

20バイトの最大値は$105737.1ですので、これは給与上限にかなり近いです!

これはすてきなレイズで、コードゴルフをするための報酬がもらえたら......


2
piデータセットの合計と組み合わせる方法かもしれません...可能な限り最大値に近づけるために、演算子/データセット/ piのさまざまな組み合わせを評価するためのプログラムによるアプローチが必要です。今はこの時間はありませんが、それ自体が素晴らしい挑戦のように思えます。
JayCe

29

GS2、(5バイト)$ 292,929

•$☺↔A

完全なプログラム(コードページ437を使用してここに表示)。(5バイトで達成可能な最大給与は299069.75ドルです)

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

DennisのGS2回答に基づいて構築...

•$☺↔A                             []
•$    - push '$'                  ['$']
  ☺   - push unsigned byte:
   ↔  -   0x1d = 29               ['$',29]
    A - push top of stack twice   ['$',29,29,29]
      - implicit print            $292929

1
5文字であっても、11バイトです。
-dotancohen

3
@dotancohen:0x0724011d41私のカウントでは5バイトです
...-eggyal

2
@eggyal:コードページ437について少し見逃しました。
-dotancohen

3
親愛なるダウン投票者、フィードバックをお願いします。間違っているもの、役に立たないもの、不明瞭なものはわかりません。
ジョナサンアラン

27

R、21バイト$ 99649.9

cat("$",min(lynx^pi))

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

別のRアプローチ- ジュゼッペの答えも参照してください

このバイトカウントの最大$ 101937に非常に近い。

ボーナス: object.size()

R、24バイト$ 89096

cat("$",object.size(ls))

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

これはおそらくシステムに依存しますが、TIOでこれを実行すると、89096ドルになりました。これは24バイトで92223の制限に近い値です。


きちんとした!良いデータセットを選択することを考えましたが、どこでそれらを見つけることができるかわかりません... datasetsパッケージはかなり理にかなっていると思います。
ジュゼッペ

@ジュゼッペ私はちょうどランダムにしようprodとしていsumます...しかし、prodはあまりにも速く増加します!
JayCe

sum(volcano)です690907が、それは動作するために約1バイトである必要があります、ハハ
ジュゼッペ

データセットを使用した素晴らしいアイデア!
digEmAll

@Giuseppe良いキャッチ私はそれを見逃していた!当たり前。
JayCe

26

JavaScript(ES6)、19バイト、109,839ドル

_=>atob`JDEwOTgzOQ`

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

109839109884


atob()(Node.js)なし、26バイト、$ 86,126

_=>'$'+Buffer('V~').join``

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

「V」(86)および「〜」(126)のASCIIコードと「$」の連結。


うわーBuffer。このクラスを認めるのはこれが初めて; ')
浅本シエル

1
@ user71546 千の区切り文字が許可されている場合、24バイトで91,126ドルで実行できます。しかし、明らかに、彼らはそうではありません... :(
アーナルド

Bufferコンストラクタは非推奨であるため、将来のバージョンでは長くなります
-mcfedr

@mcfedr通訳の作業バージョンが適切に指定されている限り、コードゴルフは気にしません。
ライキング

24

自己修正Brainfuck、16バイト、$ 124444

<.<++.+.++..../$

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


1
を使用していなかった:ので、それを削除して+$ 124444で追加できます。
ニトロドン

@ニトロドンああ、ありがとう。
user202729

を印刷した後、1にカウントしてからs 3のみを印刷してみませ3んか?バイトを保存して、より大きな数値を印刷します。
12431234123412341234123

@ 12431234123412341234123 2バイトを保存する必要があります。それ以外の場合、15バイトでは、最大$ 131199しか許可されず、$ 133333は多すぎます。
hvd

21

PHP、$ 131116(8バイト)

php用のものが見つからなかったので、投げたくなりました。私はPHPのどこかがこれを半分にカットする悪いタイプキャストであることを知っていますが、今それを見つけることができません。

$<?=ERA;

これは、PHPの短いタグとPHPの組み込み定数を利用するだけです。

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


1
明日何か別のものに切り替えるつもりです
mschuett

4
の代わりに<?="$".$<?=数バイトを保存してください。
イスマエルミゲル

2
@IsmaelMiguelありがとうございます!8バイトになりましたが、他の私の給与の〜70kを取得する方法を理解するのに十分な時間はかかりませんでした。
-mschuett

1
うわー、この定数については知りませんでしたが、ドキュメントで見つけることができませんでした。
ラフィー

3
@Rafeeは実際のところ、私が見つけることができる場所は文書化されていません。17年前にgithub.com/php/php-src/commit/…で追加された言語定数です。使用可能なすべての定数をダンプし、最短のgrepを開始するだけで見つけました。ここに見られるOSによって提供されるようですgnu.org/software/libc/manual/pdf/libc.pdf 195ページ
。– mschuett


17

Excel 19バイト$ 107899.616068361

="$"&CODE("(")^PI()

説明:

     CODE("(")        // find ASCII code of ( which is 40
              ^PI()   // raise to power of Pi  (40^3.141592654)
 "$"&                 // append $ to the front of it
=                     // set it to the cell value and display


6
+1さらに良いことに、彼らはあなたのExcelスキルに感銘を受け、あなたがアカウントマネージャーになることを望みます。
-theREALyumdub

2
@theREALyumdubはそれが良いことになるはずですか?毎日Excelで作業しなければならない場合、この給与を受け取るかどうかはわかりません;)
アーロン

私は、Excelの会計書式設定について議論します。$を完全にスキップし、書式設定を会計に設定するだけです。
セルキー

@Selkie Accounting形式ではカンマが追加されますが、これは許可されていません。ただし、$#のカスタム形式を使用できます。これを$ 125773の場合は= CODE( "*")^ PI()で15文字、または= CODE( ")")で17文字(フォーマット文字に2を追加)としてカウントすべきかどうかはわかりませんPI()$ 116603、またはこれが許可されていない場合。
キータ

12

vim、$ 99999 $ 110000 $ 120000

i$=&pvh*&ur

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

式レジスタを使用して(ほとんどのフォントでは見えない<Cr>文字があり、$との間にあり=、合計13バイト)、'pvh'オプションの値にオプションの値を掛けた値を挿入し'ur'ます。

'previewheight' プレビューウィンドウの高さを制御するオプションです。デフォルトでは12です。

'undoreload' vimが元に戻すためにメモリに保存することを断念するまでにバッファが保持できる最大行数であり、デフォルトは10,000です。


12

ゼリー $ 256000 $ 256256 (6 バイト)$ 257256

⁹‘”$;;

完全なプログラム。(6バイトで達成可能な最大給与は260847.43ドルです)

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

どうやって?

⁹‘”$;; - Main Link: no arguments
⁹      - Literal 256                            256
 ‘     - increment                              257
  ”$   - single '$' character                   '$'
    ;  - concatenate                            ['$',257]
     ; - concatenate                            ['$',257,256]
       - implicit print                      -> $257256

前...

5バイト256256ドル

”$;⁹⁺

( '$'は256を連結し、256を繰り返します-暫定的な暗黙の印刷を引き起こします)

6バイト256000ドル:

⁹×ȷṭ”$

(256×1000ṭack '$')


1
これは5 文字のように見えますが、11 バイトです。
-dotancohen


@Carmeister:いいね!
-dotancohen


@NieDzejkobは確かに6バイトが利用可能です-私は今257257ドルを持っています:)
ジョナサンアラン

11

C#

完全なプログラム、72バイト、40448ドル 66バイト、43008ドル

class P{static void Main()=>System.Console.Write("$"+('T'<<'i'));}

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

説明

左シフト演算子は、char 'T'および'i'をそれぞれ整数84および105として扱い、シフトを実行します

ラムダ、19バイト、109568ドル 17バイト、118784ドル

o=>"$"+('t'<<'j')

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

編集 2バイトを保存してくれた@ LegionMammal978と@Kevinに感謝


5
好奇心が強いのですが、なぜラムダの最後にセミコロンを含めるのですか?
LegionMammal978

1
言及した何@ LegionMammal978に加えて、(セミコロンを末尾のJava / C#のラムダのためのバイト数でカウントされている必要はありません)、未使用の空のパラメータ取ることによって、あなたはゴルフができを()=>o=>追加-1バイトのために。
ケビンCruijssen

2
確かに、@ Kevinと私のアドバイスの両方で、o=>"$"+('t'<<'j')118784ドルでラムダを使いこなすことができます。
LegionMammal978

@ケビン私はこれについて知りませんでした、情報に感謝します。
pmysl

@ LegionMammal978不要なセミコロンを指摘し、更新されたラムダを提供してくれてありがとう。どういうわけかこのセミコロンを見落としたにちがいない
-pmysl

9

PHP、13バイト、$ 144000給与

残念ながら、この仕事にはモーリシャスへの移住が必要です(まあ、少し東に少し移動することもできますが、タイムゾーンを短くするごとに給料が36,000ドル下がることになります)。

$<?=date(ZL);

これはZ、タイムゾーンを秒単位で出力し、うるう年であるかどうかを追加します。


9

brainfuck、43バイト、58888ドル

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

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

使い方

++++++[>++++++<-]>.  write 36 to cell one and print (36 is ASCII for $)

<++++[>++++<-]>+.    add 17 to cell 1 and print (cell 1 is now 53, ASCII for 5) 

+++....              add 3 to cell 1 and print 4 times (cell 1 is now 56, ASCII for 8)

1
PPCGへようこそ!あなたが固執することを望む
ジョーキング

8

Python 3、(22バイト)98,442ドル

print('$',ord('𘂊'))

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

DoorknobのRubyの回答と同様、ここで使用される4バイトのUnicode文字𘂊は、22バイトで達成可能な最大整数給与の序数値を持っています。

print()デフォルトで空白で区切られた名前のない引数を出力することに注意してください(sepオプションの名前付き引数です)。


f文字列を使用するよりも少し良くできます:print(f "$ {ord( '𘫿')}")は21バイトで、$ 101119を出力します
Matt

2
24バイトの@Matt(f-stringのことを考えていましたが、余分なブレースが2バイトかかることを認識していました)
ジョナサンアラン

Python 2がより高い給料を稼ぐことの証明。
mbomb007

8

Gol> <>、8バイトで$ 207680

'o**n; $

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

使い方:

'        Start string interpretation. Pushes the ASCII value of every character until it wraps back around to this character
 o       Output the top stack value as ASCII. This is the $ at the end of the code
  **     Multiply the top 3 stack values (This is the ASCII of 'n; ', 110*59*32
    n    Output top of stack as integer.
     ;   Terminate program
       $ (Not run, used for printing the $)

おもしろいことに、スコアの$ 231504 をもたらすのh代わりにを使用できますがn;'o**h5$0-9を使用することはできません。また、53をプッシュする別の1バイトの方法はありません。5


1
PPCGへようこそ!
メゴ


6

Mathematica、18バイト、$ 107,163.49

$~Print~N[E^(E!E)]

完全なプログラム。を使用して実行しMathematicaScipt -scriptます。出力の$107163.4882807548後に末尾の改行が続きます。私は、これはフォームの最高得点解決することを確認してから構成されている、、、と。$~Print~N[expr]exprPiEI+-* /()!


どうI
user202729

@ user202729いいえ、助けにはなりません。実際に使用する番号Iだけではなく、I IまたはI/I一般的には+ 0.*IタックしていNます。
LegionMammal978

非常に素晴らしい!私は"$"~Print~Exp[E!N@E](と同じ長さ"$"~Print~N[E^(E!E)])まで取得しましたが、引用符を囲む$と、出力はわずかに制限を超えました。
ミシャラヴロフ

私が思いついたのはPrint [$、N [Pi ^(Pi * Pi)]]で、80662.7ドルでした。Pi、E、+、*、^のさまざまな組み合わせを試しました(私は考えましたが、それを使用する効果的な方法が見つかりませんでした)。
メニローゼンフェルド

$~Print~⌈E^(E!E)⌉1つの文字で左右の天井文字で、それはもう少しと17バイトになります
歌わjaeyong


6

JavaScript(Node.js)、23バイト、65535ドル

_=>"$"+ +(~~[]+`xFFFF`)

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

これは私がなしatobで得ることができる最高のものですが、大きな改善スペースtbhがあります

ASCII変換関数への短い文字がないことは、多くの問題を引き起こします。

終日

JavaScript(Node.js)、30バイト、78011ドル

_=>"$"+`𓂻`.codePointAt(![])

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

または:29バイト、80020ドル

_=>"$"+`򀀠`.codePointAt(!_)

どこ򀀠U+13894 INVALID CHARACTER

ああString.codePointAt!これを完全に忘れてしまいました!

冗談(15B、130000ドル)、まったく有効ではなく、ただの楽しみのために

_=>"$十三萬"

それでは、なぜ_=>"$⑮萬"^ _ ^
-tsh

2
私は中国人を理解できるので、今笑っています
...-ericw31415

どうx1683F
ガストファンデウォル

単に使用_=>"$"+parseInt('1V0I',36)することも、これまでに持っているものよりも高いので、追加することもできます。あなたはJavaScriptで小数にベース64を変換することはできませんあまりにも悪い...
ガストファンデウォルマート

@GustVanDeWal悲しいことに、コードで数字を使用することはできません。
朝琴シエル

6

MATLAB、17バイト、112222ドル

['$','..////'+pi]

古い答え:

['$','RRUUTR'-'!']

1
感謝のASCIIコードの自動変換を使用するには、素敵な1+pi
ホキ

eは、MATLABでの組み込み定数ではありません
Majestas 32

6

ルビー、119443ドル

$><<?$<<?𝊓.ord

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

17バイトの最大整数出力。Unicode文字はU + 1D293で、16進数で119443です。


機会があれば$><<?$<<$$、長時間実行されるシステムで10バイトを試してください。177827までの回答が有効です。
AShelly

「10進数で」という意味か、少なくともあいまいさはあると思います。
jpmc26


5

Japt、5バイト、262144ドル

'$+I³

試して


説明 Iは、のJapt定数であり64³それをキューブ'$+し、ドル記号で連結します。


最初に確認してくれてうれしい。投稿しようとしていた"${I³
オリバー


5

Befunge- 93、9バイト、192448ドル

a>$",**.@

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

出力は$192448、わずか2ドルで、最大値の9セント不足です。これは、Befunge-98を適切に実装したポリグロットとしても機能し、認識されない命令エラーをスローする必要さえありません!

説明:

a>$        Basically no-ops
   "       Wrapping string that pushes the code and a lot of spaces to the stack
    ,      Print the $
     **    Multiply the byte values of a, > and a space
           62*97*32 = 192448
       .@  Print the number and terminate

5

Cubix、$ 155088(12バイト)

*Ouo'ე'$/@

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

興味深い問題は、これを7または8バイトに減らすことを望んでいましたが、難しいことがわかりました。charactersと$文字をスタックにプッシュし、スタックの$最上部の倍数を出力し、数値を出力して停止します。まだ下位バイトのオプションを見つけたい

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