コードの長さと同じ桁数のpiを持つ出力


9

あなたの課題は、あなたのコードの長さxであるpiの桁を印刷xすることです。

例:

Source code (length) -> output
foo!        (4)         3.141
foobar      (6)         3.14159
kinda long  (10)        3.141592653
+++++       (5)         3.1415
123456789   (9)         3.14159265

を使用して、印刷する必要がある桁数を決定できます。小数点はpiの桁として数えられないことに注意してください。したがって、長さ3のコードは長さ4の出力を持っている必要があります。floor(π/10 * 10code_length) / 10code_length - 13.14

ルール:

  • コードの長さは3文字より長くなければなりません。
  • 標準の抜け穴は使用できません。
  • 標準で許可されている出力方法を使用できます。
  • コード長を決定するためにソースを読み取ることはできません。
  • 組み込みのpi定数は使用できません。
  • Piは完全に正確で、近似されていない必要があります。
  • 出力には小数点が必要です。戻り値による出力を選択した場合は、浮動小数点整数を返す必要があります。
  • この課題の目標は、ソリューションの最短の言語ではなく、各言語で最短のソリューションを見つけることです。ソリューションが別の方法を使用している限り、短いソリューションが同じ言語で投稿されている場合でも、ソリューションを言語で投稿することを恐れないでください。

...そうでしょう、これは有効ではありませんか?
ジョナサンアラン

(編集^ これも(丸め))
ジョナサンアラン

「コード長」←バイト単位か文字単位か?
Lynn

@Lynnバイト、いつものように。
MD XF

ただ3許可されていますか?
NoOneIsHere

回答:


3

Japt9 4バイト

それが許される限り短い:)

の後に印刷できない(リバースラインフィード、文字コード141)が含まれます#

3.#

試して

Japtでは、続く文字#はその文字コードに変換され、その前にある可能性のある数字または小数点に追加されます。この場合、3.




6

VBA(Excel)、15バイト

MsgBox 4*Atn(1)

出力:3.14159265358979

PIの長さに合わせるためにゴルフをしたので、これは許容できないと思います。それのゴルフされていない長さは17バイトです。D:


1
まだ歓迎されていないようですので、サイトへようこそ!
MD XF

ああ、ありがとう、サー!:D
remoel

Atn逆正接ではありませんか?これが許可されているかどうかは
わかり

OPは組み込みのPIのみを指していると思いました。私の悪い。
remoel 2017

5

ゼリー、6 バイト

3;⁽4ƒṾ

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

3,14159許可された「ヨーロッパ」の小数点記号を使用して印刷し,ます。

どうやって?

3;⁽4ƒṾ - Main link: no arguments
3      - literal 3                3
  ⁽4ƒ  - base 250 literal 14159   14159
 ;     - concatenate              [3,14159]
     Ṿ - unevaluate               ['3', ',', '1', '4', '1', '5', '9']
       - implicit print           3,14159

1
その数字のリストは奇妙に見えます。そこには別売りがあると思います,'
Jonathan Frech

1
代わりに-ÆAær5を使用できますが、それは私のゼリーソリューションと同じになります。.,
ザカリー

4

Python 3、64バイト

print("3.%d"%int("SIXW57LUPVBUA10HBQJOL57QLF54UT0U00KIN32O",36))

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


Python 2に相当するものは60バイトprint'3.%d'%int('3p3aqd50r7654t9ywkfkgsm0yx0bikcluxlhsm',36)です。
ジョナサンアラン

@JonathanAllan python 2 in 59:tio.run
primo

@primoはif&when ...を投稿するように見えます
Jonathan Allan

1
@JonathanAllan再開したという意味なら今です。
MD XF


4

デスモス、130バイト

f\left(\right)=\frac{\operatorname{floor}\left(10^{128}\cdot 4\sum_{k=1}^{9^9}\frac{\left(-1\right)^{k+1}}{2k-1}\right)}{10^{128}}

このソースコード(Desmosの内外でコピーアンドペーストすることでアクセスできます)は、Desmosエディタを使用して生成した場合は最適ではないため、可能な場合は数バイトの空白が取り除かれました。

これは、f引数をとらない関数を定義し、Gregoryシーケンスを使用して計算されたpiを返しますk=9^9 (これが十分に正確であることは確認できませんが、kの値が大きいほど正確になると確信しています) )次に、結果を128小数点以下にフロアし3.ます。これは、と並んで、ソースコードの長さです。

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


実際に結果を見る方法-私は見ているだけ3.14159265617で、間違った場所を探しています ボタンを押す必要がありますか?
ジョナサンアラン

Desmosは、デフォルトでは指定された小数点以下の桁数を出力しませんが、値は正確であるはずです。
ATaco 2017

1
課題は「印刷する...」であるため、残念されていること
ジョナサン・アラン

1
「出力には小数点が必要です。戻り値を介して出力する場合は、浮動小数点整数を返す必要があります。」これは有効になります。
ATaco 2017

そのステートメントの意図は、精度を下げることではなく、小数点を確保することでした。あなたの答えは悪くないと思います。
ジョナサンアラン






2

J、16バイト

17j15":4*_3 o.1:

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

VBAの回答に似ています。出力:3.141592653589793


「組み込みマクロまたは定数を使用してpiを決定することはできません。」おかしい、それはあなたのコメントです
漏れ修道女

あなたの出力は17のバイトではなく16です
ATaco

1
@ATaco正確に、16桁です
ASCIIのみ

@LeakyNunしません。_3 o.1atan(1)を計算します。ご存知かもしれませんが、私はルールをよく知っています。
Conor O'Brien


2

05AB1E、11バイト

3•∊&SK•)'.ý

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

COMMAND     # CURRENT STACK         | EXPLANATION
------------#-----------------------+-----------------------------------
3           # [3]                   | Push 3.
 •∊&SK•     # [3, 1415926535]       | Push compressed base-255 number 1415926535.
       )    # [[3,1415926535]]      | Wrap the 2 to an array.
        '.  # [[3,1415926535],'.']  | Push a decimal point.
          ý # ['3.1415926535']      | Join 3 and 1415926535 with a decimal point.

ビルトインの使用:

05AB1E、4バイト

žq5£

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


3žs 何らかの理由で動作しません...


@Zacharý私は何かを逃したのですか?なぜ特別なxDなのですか?
Magic Octopus Urn

それは私のユーザー名にあります。また、説明を追加できますか?
ザカリー

@ZacharýHA!私の脳は、PPCG関連の面白いジョークをすべて通り抜け、空白になってしまいました。私はがらくたを考えすぎます。
Magic Octopus Urn

@Zacharýも追加されました。
Magic Octopus Urn

MYに暗黙のIOがある場合、勝つ方法はありません。私はE3.自分自身に腹を立ててます:p。
ザカリー

2

ForceLang、269バイト

set S 0x5F258E476FC1B3B5571012206C637089460E41E814CB071E61431B5F0671F551D18D2C5D2D3A2565E408C6DE8D753F595B6E9979C3866D1C9965008DCFB02E3BD11D21DFFAF17978F05C8BBACF55A5ED5E90B1D8CAD8736AA4B728EB342B453F86353DB371D322B6A98613BC5CCB00AC2.mult 1e-270
io.write S.toString 268

少なくともgithub上言語へのリンク。
ジョナサンアラン

2

MATL9 8バイト

-1X;V9:)

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

説明:

-1      % number literal
X;      % inverse cosine (radians), giving pi
V       % convert to string
9       % specify precision
:)      % keep first 9 characters - 8 digits of precision

Luis Mendoのおかげで1バイト節約されました!


1

ゼリー、6バイト

-ÆAær5

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

他のゼリーの答えとは異なるアプローチを使用します。

どうやって?

-ÆA-1(pi)の逆余弦でありær5、必要なセクションを取得します。これはうまくいったので、この場合、丸めは切り捨てに相当します



1

Perl 5、40バイト

}{$\=$\/~(2*$_)*~$_+2for-130..-2

コマンドラインオプションが必要-pMbignumです。8としてカウントされます。

サンプルの使用法:

$ perl -pMbignum test.pl < /dev/null
3.141592653589793238462643383279502884197

TIOリンクがないことをお詫びしbignumます。サポートされていないようです(または対応しない開始中括弧...)。


1

MY、7バイト

’2ō"8↑↵

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

どうやって?

  • 、スタックの先頭をデクリメントします(0空の場合はポップされ、スタックが作成されます[-1])。(ゼリーと同じ記号)
  • 2、押し2ます。
  • ō、スタックの最上部は2であるため、、2popを破棄してからnプッシュしますacos(n)(ラジアンでこれによりpiが得られます。このシンボルはoその上に負の符号が付いています。o(通常のトリガーの場合)はAPLから来ます)。
  • "、スタックの一番上の要素をポップし、それを文字列としてプッシュします。
  • 8、押し8ます。
  • 、ポップa、次にbプッシュb[:a](これはAPLから取られた別のシンボルです)。
  • 、改行して出力(OUTPUT <-STACK)。

P:そして、暗黙の出力を追加
MD XF

私はMYの本質に忠実に保ち、私は実際の構文を使用して改良版を作り、そしてかもしれませんよ間違いなく暗黙の出力と
ザカリー

1

RPL(HP48)、86.5バイト、87桁[これはカウントされますか?]

« GROB 8 43
14159265358979323846264338327950288419716939937510582097494459230781640628620899862803
→STR 9 OVER SIZE SUB 2 "." REPL »

GROBはイメージキーワードです。続く2つの数値は、幅と高さです。続く16進数はビットマップです。これは、2桁ごとに1バイトのストレージと画像メタデータです。

空のプログラムに« »は10バイトかかります。コマンドは2.5バイトかかります。floatは10.5バイトを使用しますが、1桁の整数と等しい場合、2.5バイトを使用できます。

HP48は各メモリ位置に8ビットではなく4ビットを格納するため、1バイトは2つの連続した位置(ローエンディアン)を占有します。多くの場合、20ビットのチャンクが使用され、3バイトではなく2.5バイトかかります。





0

Excel VBA、16バイト

Excel VBAのSTDOUTへの入出力を行わない匿名VBEイミディエイトウィンドウ関数

各行は、長さ16のPiを返す個別の関数を表します

?Mid(4*Atn(1),1)
?Str([Acos(-1)])
Debug.?4*Atn(1);
MsgBox[Acos(-1)]
[A1]="=ACOS(-1)"



0

TI-BASIC、7バイト

round(4tan⁻¹(1),6

round(2sin⁻¹(1),6

round(cos⁻¹(-1),6

これらの3つのステートメントが出力されます3.141593


注: TI-BASICはトークン化された言語です。文字数がバイト数と等しくありませ

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