文字列(または数字)が添付されていません


71

これが気に入ったら、以下に参加することを検討してください。


同じ言語で12個のスニペット/式を作成します。その結果、それぞれ数値0〜10、および42になりますが、リテラルの数値、文字列、または文字データは書き込まれません。

同様に、データにビルドPI()ALPHABET()、罰金であるので、例えばCJamのU、X、Y、Zであり、定数、および処理のBLEND、CHORD、CENTER、BREAK、およびLINES。

すべてのスニペットは独立している必要があります。つまり、相互に依存しない場合があります。ただし、単一のスニペット内では、名前を含む文字列ではなく名前で直接参照する限り、変数を割り当てて自由に使用できます。

すべてのスニペットは、提出時に提出者のコンピューターで有効である必要があります(SEによって報告されます)が、ディレクトリ内のファイル数、正確な日付または時刻、またはユーザーからの特定の入力などの異常なローカル条件に依存しない場合があります。

有効なスニペットの例

3:INT(LOG10(YEAR(TODAY()))) それは予見可能な将来において真であるので、
4:CUBICROOT(LEN(CHARACTERSET())) 256文字の文字セットは非常に一般的ですので、
8:SQRT(SYSTEMTYPE()) 64ビットシステムでは非常に一般的であるため、

無効なスニペットの例

5:LEN(USERNAME()) ほとんどの人がログインとして「管理者」を使用しないため:-)
9:LOG10(SYSTEMMEMORY()) メモリがちょうど1 GBのシステムでのみ動作する ため
42:CODE("*")文字列/文字リテラルを含むため

各スニペットの結果は、スニペットと同じ言語を使用した追加の計算に使用できる実際の数値(値、整数、浮動小数点数など)になる必要があります。つまり、その数値を表すテキスト文字列ではありません。

文字ベースの言語のみが許可されます。

スコアは、合計した12個のスニペットの合計バイト数です。スニペットを区切る改行はカウントされません。

上記の規則は、チューリング完全であっても、一部の言語が参加できない場合があることに注意してください。

よくある質問

Qプログラムは入力を受け付けることができますか?
Aはい。ただし、単に入力を求めて関連する番号を入力することはできません。

Q物理的な数字(非データ)の数字は許可されていますか?
AはいLOG10()

Q Rubyのシンボルはリテラルとしてカウントされますか?はい。

Qスコアには各スニペット間の改行が含まれますか?いいえ。

Q TI-BASICは「文字ベース」で十分に有効ですか?はい。

Q falseとtrueは数値リテラルとしてカウントされますか?
Aいいえ、受け入れられます。

Qそれが唯一の方法であり、数値が関数の出力に影響しない場合、数値リテラルを使用して関数を呼び出すことはできますか?
Aはい、それがあなたの言語でコードを記述する通常の方法である場合。

Q私の言語では、各プログラム/式の先頭に[何か]があると想定しています。それを含める必要がありますか、またはスニペットをプログラム/式の途中に配置するだけで機能する必要がありますか?
Aプログラム/式の途中で動作する必要があります。

Q正規表現リテラルはどうですか?唯一の正規表現を行う言語を除き、禁止します。

Q指定されたすべての数値を印刷できる1つのコードは受け入れられますか?
Aいいえ、それらは分離され、相互に独立している必要があります。

Qボイラープレートのようなint main() {}...または同等のものを想定できますか?はい。

Qどの出力データ型が許可されていますか?任意の数値データ型、int型のように、フロートなど

Q各スニペットの結果を印刷する必要がありますか?
Aいいえ、その後の使用のために結果を利用可能にすることは十分です。

Qプリセット変数は許可されていますか?
Aはい、すべてのスニペットでリセットされます(変更された場合)。

Qは πであり、eは数リテラルとみなさ?
Aいいえ、使用できます。

Q 42の異なるセルで4と2を返すことはできますか?
Aいいえ、1つの番号として接続する必要があります。

Qバイトまたは文字?バイト、しかし、あなたは、任意のコードページを選択することができます。

Q定数関数や9:、J 、Actually 9、Pretzel などのプリセット変数を9使用できますか?
Aはい、語彙が有限の場合(Jは19、ActuallyとPretzelは10)。


0-9が数値リテラルではなく、事前設定された変数である場合、それらは公平なゲームでしょうか?
チョイス

@Cyoce 10は{1、0}であり、2×5ではありませんか?
アダム

いいえ、10を基数としないリテラルには別の構文があるため、0〜9はリテラルではありません。これらは0〜9の値を保持しますが、変数と見なされます
チョイス

@Cyoceそれなら大丈夫です。何語ですか?
アダム

プレッツェル(私が取り組んでいる言語)。
チョイス

回答:


15

六角形、13バイト

1
2
3
4
5
6
7
8
9
10
42

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

Hexagonyにおいて、0貫通9している機能 10により、現在のメモリを乗算し、次に関数名で表される番号を追加します。したがって、最初のスニペットは空で、メモリはから始まります0

たとえば、現在のメモリがの場合、65関数3を実行すると現在のメモリが作成されます653

(downvotersに:あなたが望むすべてをdownvote;私は準備ができています。)


卑劣ですが、私の賛成票とダニを得ます。
アダム

49

機能、1222バイト

数値リテラルとは別に、Funcitonで値(すべての値)を生成できる2つの方法があります。stdinとlambda式です。標準入力は単一のボックスですが、完全なラムダ式にはより多くの構文が必要なので、標準入力を使用します。ただし、stdinは何でもかまいませんが、提供される入力に関係なく、以下のすべてが機能します。

ここで使用されるライブラリ関数はすべて、チャレンジが投稿される前に存在していました。

0(UTF-16では40バイト)

╔╗┌┐
║╟┤└┼┬┐
╚╝└─┘└┘

これは、より小さいの生の構文を使用します。値がそれ自体より小さくなることはないため、この結果は0になります。

1(UTF-16で52バイト)

╔╗┌─╖┌─╖
║╟┤⌑╟┤ɕ╟
╚╝╘═╝╘═╝

単一の要素を含む遅延シーケンスを返し、ɕ要素の数をカウントします。(遅延シーケンスは遅延であるため、このスニペットは実際には標準入力をまったく評価しません!)

2(UTF-16では70バイト)

╔╗┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟
╚╝╘═╝╘═╝╘═╝

=2¹。ʂシーケンスのすべてのサブシーケンスを生成し、n要素のシーケンスを2ⁿの1つに変換します。

3(UTF-16で88バイト)

╔╗┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟┤♯╟
╚╝╘═╝╘═╝╘═╝╘═╝

= 2 +1。値を1増やします。

4(UTF-16では88バイト)

╔╗┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ʂ╟┤ɕ╟
╚╝╘═╝╘═╝╘═╝╘═╝

=2²。

5(UTF-16で106バイト)

╔╗┌─╖┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ʂ╟┤ɕ╟┤♯╟
╚╝╘═╝╘═╝╘═╝╘═╝╘═╝

= 4 + 1。

6(UTF-16で106バイト)

╔╗┌─╖┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟┤♯╟┤!╟
╚╝╘═╝╘═╝╘═╝╘═╝╘═╝

= 3階乗。

7(UTF-16で110バイト)

┌───┐┌─╖┌─╖┌─╖╔╗
│┌─╖├┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤A╟┘╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= A(2、2)(アッカーマン関数)。

8(UTF-16で118バイト)

┌────┐┌─╖┌─╖┌─╖╔╗
│┌──╖├┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤<<╟┘╘═╝╘═╝╘═╝╚╝
 ╘╤═╝

= 2 << 2(左シフト)。

9(UTF-16では128バイト)

┌───┐┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖├┤♯╟┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤×╟┘╘═╝╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= 3×3。

10(UTF-16で146バイト)

┌───┐┌─╖┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖├┤♯╟┤ɕ╟┤ʂ╟┤ʂ╟┤⌑╟╢║
└┤+╟┘╘═╝╘═╝╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= 5 + 5。

42(UTF-16では170バイト)

┌──────┐┌─╖┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖┌─╖├┤!╟┤♯╟┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤♯╟┤×╟┘╘═╝╘═╝╘═╝╘═╝╘═╝╚╝
 ╘═╝╘╤╝

= 6×(6 + 1)。



4
私は...回以上upvoteことがしたい
ev3commander

26

JavaScript、144 141 140 138 132 125 123バイト

以下からの助けを借りて、@ edc65@Sjoerd仕事Postmus@DocMax@usandfriends@CharlieウィンMwr247 @

result.textContent = [

+[]                          ,// 0  (3 bytes)
-~[]                         ,// 1  (4 bytes)
-~-~[]                       ,// 2  (6 bytes)
-~-~-~[]                     ,// 3  (8 bytes)
-~Math.PI                    ,// 4  (9 bytes)
-~-~Math.PI                  ,// 5  (11 bytes)
-~-~-~Math.PI                ,// 6  (13 bytes)
Date.length                  ,// 7  (11 bytes)
(a=-~-~[])<<a                ,// 8  (13 bytes) = (2 << 2)
(a=~Math.E)*a                ,// 9  (13 bytes) = (-3 * -3)
(a=-~-~[])<<a|a              ,// 10 (15 bytes) = ((2 << 2) | 2)
(a=Date.length)*--a           // 42 (19 bytes) = (7 * 6)

];
<pre id="result"></pre>


トライ4:-〜Math.PI
edc65

@ edc65ありがとう!PIでできることがあると思いました。:)
user81655

5、6の場合、別のバイトを使用-~-~Math.PIして-~-~-~Math.PI保存することもできます(2回)。
シェードジョブポストマス

1
で42に1つ保存します(escape+NaN).length。PS今日、私はJavaScriptが本当に奇妙であることを学びました...
Mwr247

1
私はNaNそれが数字としてカウントされると言っていましたが、それは文字通り数字ではありません:P
ETHproductions

17

マウス-200227の 26 17 14バイト

最初のスニペットは0〜10をZR+プッシュし25、その後プッシュして1725 17 + 42 =です1

A
B
C
D
E
F
G
H
I
J
K
ZR+

「スニペットまたは式」と言うので、すべての!を削除できます
ev3commander

3
@cat私は質問者の代わりに話すことはできませんが、それは互いに独立していることを意味すると思います-1つの関数を定義せずに、別の関数を使用します。ただし、各スニペットはプログラム全体である必要はなく、int main() {}...実行する定型的な同等物を想定できます。
TessellatingHeckler


12

Brainfuck、70バイト

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

各行は個別に実行する必要があります。

最初の10は自明です。各プラスを介してセルの値をインクリメントします。

42はもっと複雑です。これは、ほとんどのBrainfuckインタープリターが8ビットセルを使用するという事実に依存しています。つまり、その操作はすべて256を法として行われ--ます。セル#0から254に設定します。セル1に1を追加し、セル0に6を追加します。このループは43回実行されるため、セル#1は43です。最後に、セル#1から1を引いて42にします。

http://esolangs.org/wiki/Brainfuck_constantsから最も効率的な42を見つけました


1
@someonewithpc 4と2は42とは異なります:OPは、各スニペットの結果は、スニペットと同じ言語を使用したさらなる計算に使用できる実際の数値になる必要がありますつまり、その数値を表すテキスト文字列ではありません。42で直接計算できますが、別々のセルの4と2で同じではありません。
p1xel

ああ、わかった。私はそれを見逃していた..
someonewithpc

12

339303バイト

これは闇が本当に輝く場所です。それを得る?:〜)!

印刷なし\s最初の行のスペースは、他の方法では表示されないため、置き換えました):

\s

█ 

██ 

███ 

████ 

█████ 

██████ 

███████ 

████████ 

█████████ 

██████████ 

██████████████████████████████████████████ 

印刷あり:

■ 

█■ 

██■ 

███■ 

████■ 

█████■ 

██████■ 

███████■ 

████████■ 

█████████■ 

██████████■ 

██████████████████████████████████████████■ 

この場合、プログラムはライト(スペース)で終了するため、各行を個別に実行する必要があります。ただし、これを同じプログラムの1行または複数行に書き込むことは可能です。

通常の暗さ(█)はレジスタを1増やし、■命令(ある種のミニダークネス)はレジスタの内容を出力します。


これは完全なプログラムを要求するのではなく、スニペットだけを要求するとは思わない。
エリックアウトゴルファー

12

Perl 5の、86の 75 71 66バイト

すべて^Fのsはリテラル制御文字(ASCIIでは0x06)であるため、1バイトです。

$[          # array start index, defaults to 0                                  2
!$[         # !0 is 1                                                           3
$^F         # max sys file descriptor number, 2 on all sane systems             2
++$^F       # 2 + 1                                                             4
~-$]        # 5 - 1                                                             4
int$]       # $] is Perl version, int truncates                                 5
length$~    # 1 + 5                                                             8
~~exp$^F    # floor(e^2)                                                        7
$^F<<$^F    # 2 bitshift-right 2                                                6
-!$[+ord$/  # -1 + 10                                                          10
ord$/       # input record separator, newline by default, ord gets ASCII val    5
ord($"^$/)  # 32 + 10                                                          10

11バイトを節約してくれたmsh210と9バイトを節約したDom Hastingsに感謝します!


3
Perlは奇妙です。zoitz.com/comics/perl_small.png
ldam

「最大sysファイル記述子番号、すべての健全なシステムで2 = 3」であるが、私は65+を持っているために落ち込んだ
cat

(私はただ冗談を言っている、私はもちろん賛成票を投じた)

1
SEの投稿のコメントを読んで、「すごい、どの馬鹿がそれを書いたんだ」と思ったことはありますか?それは私自身です。

!$[+ord$/ # -1 + 10—わかりません。2行目で!$[は、-1ではなく1となるため、このスニペットは11になります
。-ティムウィ

10

MATL、30バイト

O
l
H
I
K
Kl+
HI*
KYq
HK*
IH^
K:s
IH^:sI-

HI、およびK事前定義された定数である2、3、及び4(などのためpi)。Oおよびlは、ゼロ(O)または1(l)の行列を返す関数であり、デフォルトのサイズは1x1です。:ベクトルを作成し、s合計します。したがってK:s、1〜4のベクトルを作成し、合計して10を取得しますYq。n番目の素数関数、KYq4番目の素数、7です。


そのYq機能(およびその実装)は、あなたの非常に素晴らしい提案でした:
ルイスメンドー

IK+7のために同じようにうまく動作しますが、それは少し退屈だでしょう:P
デヴィッド・

10

プロローグ、113 99バイト

スニペット:

e-e              % 0.0
e/e              % 1.0
e/e+e/e          % 2.0
ceil(e)          % 3
ceil(pi)         % 4
ceil(e*e-e)      % 5
ceil(e+e)        % 6
floor(e*e)       % 7
ceil(e*e)        % 8
ceil(pi*e)       % 9
ceil(pi*pi)      % 10
ceil(e^e*e)      % 42

数学定数epiをintに変換するさまざまな方法で組み合わせます。

編集: 0-2のフロートを利用して14バイトを保存しました。


1
e / e = 1に問題がありますか?
レベルリバーセント

@steveverrill:フロート(1.0)になります。チャレンジの説明は、数字が整数であるべきだと解釈しました。これらのほとんどは、すべてではないとしても短縮できます。
エミグナ

1
@steveverrillフロートは問題ありません。適切な価値が必要です
アダム

9

PHP、157 145 91バイト

Code Golfに初めて投稿したとき、試してみようと思いました。私は最終的に良くなります:Pあなたがキャラクターを救うことができる明白な(あなたに)スポットを見たら、私に知らせてください。

編集:これらは単なるスニペットであるため、セミコロンは必要ありませんでした。

EDIT2:多くの提案をいただいたBlackholeに感謝します!

LC_ALL
DNS_A
~~M_E
~~M_PI
LOCK_NB 
LC_TIME
LOG_INFO
INI_ALL
IMG_WBMP
SQL_DATE
SQL_TIME
LOG_INFO*INI_ALL

5
PHPには多くの拡張機能があるため、この課題の数学的な定数よりもはるかに優れた定義済みの定数がたくさんあります;)。LC_ALL0(-1バイト)、DNS_A1(-3バイト)、LOCK_NB4(-3バイト)、LC_TIME5(-7バイト)、LOG_INFO6(-8バイト)、INI_ALL7(-5バイト)、…
ブラックホール

5
IMG_WBMP8(-4バイト)、SQL_DATE9(-9バイト)、SQL_TIME10(-3バイト)、およびLOG_INFO*INI_ALL42(-11バイト)。したがって、合計51バイトが節約されました!これらの定数は、少なくともWindows上のPHP 5.6.1で有効です。
ブラックホール

@BlackholeはLC_ALLロケールに依存するものではありませんか?

@cat実際にはsetlocale()、ロケールのすべてのカテゴリを変更するために使用される定数です。しかし、定数自体の値はもちろんロケールに依存しません:)。
ブラックホール

@ブラックホールああ、なるほど!

9

パイソン2、191の 159 158 157 156 149 146バイト

私の最初の提出、私はすべてが正しかったと思います!私がこれに費やした時間に基づいて、私は確かにそれらのいくつかのためにより良いものがあると思います。

# 0 | Bytes : 5
int()

# 1 | Bytes : 5
+True

# 2 | Bytes : 6
-~True

# 3 | Bytes : 8
-~-~True

# 4 | Bytes : 10
-~-~-~True

# 5 | Bytes : 12
-~-~-~-~True

# 6 | Bytes : 14
-~-~-~-~-~True

# 7 | Bytes : 16
-~-~-~-~-~-~True

# 8 | Bytes : 15
a=True;a<<a+a+a

# 9 | Bytes : 19
a=True;(a<<a+a+a)+a

# 10 | Bytes : 20
int(`+True`+`int()`)

# 42 | Bytes : 16
~-len(`license`)
# Especially proud of this one !

Total byte count: 146

FryAmTheEggmanに感謝します!


PPCGへようこそ:)このチャレンジについては100%確信はありませんがTrue、1のイディオムとして使用することは受け入れられるべきだと思います。
FryAmTheEggman

ああ、あなたは正しい!1自体には使用しませんが、1にTrue is not 1基づくすべての計算には役立つためです!編集中。
ヨアヒムジャブロン

1
を使用し#8 len(`id(id)`)ます。次に、8、9、および10が短くなります。また、オンラインで試すにハイパーリンクを追加することもできます
mbomb007

len(`{()}`)11バイトで9を取得でき、7から10短くなります。
xnor

9

C#、使用なし、234バイト

new int()                       // 0
-~new int()                     // 1
-~-~new int()                   // 2
-~-~-~new int()                 // 3
-~-~-~-~new int()               // 4
-~-~-~-~-~new int()             // 5
-~-~-~-~-~-~new int()           // 6
-~-~-~-~-~-~-~new int()         // 7
-~-~-~-~-~-~-~-~new int()       // 8
(int)System.ConsoleKey.Tab      // 9
(int)System.TypeCode.UInt32     // 10
(int)System.ConsoleKey.Print    // 42

これは、当初考えていたよりもずっと退屈です。new[]{true}.Lengthand true.GetHashCode()typeof(int).Name.Lengthand uint.MinValueなど、かなり多様なアイデアがありましたnew int()が、それらすべてを打ち負かしました。


ルールは、あなたのような何かをできるようになるvar a = new int();と、その後使用しa、各スニペットに?
ldam

@LoganDam:すべての表現が独立している必要がある場合、私はそれがより面白いと思います。それはまた、using宣言を使用しなかった理由でもあります。
ティムウィ

9/10/42のそれらは何ですか:Oo
ev3commander

@ ev3commander:これらは、必要な整数値を持つmscorlibで定義された最も短い名前の列挙値です。ConsoleKey.Tabの場合、値9は驚くことではありません(9はタブ文字のASCIIでもあります)。他はおそらくarbitrary意的です。
ティムウィ

8の短い方:int a=-~-~new int();a<<a
LegionMammal978

9

PowerShell、147バイト

これらは+暗黙的に整数にキャストするために使用します。後の数値では、PowerShellの.Net Framework unerpinningsからのEnumを使用しますが、これはたまたま正しい値を持っています。

+$a                          #0, 3 bytes (unset vars are $null, +$null == 0)
+$?                          #1, 3 bytes (bool previous result, default $true, +$true == 1)
$?+$?                        #2, 5 bytes (same as #1, twice)
$?+$?+$?                     #3, 8 bytes (beats [Int][Math]::E)
$?+$?-shl$?                  #4, 11 bytes (-shl is shift-left)
$?+$?+$?+$?+$?               #5, 14 bytes
$?+$?+$?-shl$?               #6, 14 bytes (enum value, + casts to integer)
+[TypeCode]::Int16           #7, 18 bytes
$?+$?-shl$?+$?               #8, 14 bytes
+[consolekey]::tab           #9, 18 bytes
+[TypeCode]::UInt32          #10, 19 bytes
+[consolekey]::Print         #42, 20 bytes

#Total:                      147 bytes

  • -~-~-~JavaScriptで使用されるC#およびPHPの回答は- -bnot - -bnot - -bnotPowerShellにあります。

  • x^yPerlの回答、またはx**yPythonまたはJavaScript ES7で使用されるべき乗は、[Math]::Pow($x,$y)

  • 定数eおよびPiは、文字数が多く[Math]::E[Math]::PI


x^yJavaScriptではxorです。JavaScript(ES7)に**は指数があります。ソース
mbomb007

@ mbomb007ああ、ありがとう-それについてのメモを更新しました。
TessellatingHeckler

@ mbomb007私はまだそれはちょっとばかげていると思う
-SuperJedi224

@ SuperJedi224なぜですか?それがPythonのやり方です。また、xorは重要な演算子です。
mbomb007

8

DC、35バイト

K
KZ
IZ
Iv
EI-
FI-
IZd*
IIZ/
Ivd+
IIv-
IIZ-
IKZ-
I
EdE++

スニペットをテストするには、を追加しfてスタックを出力し、その文字列をに渡しますdc

$ echo 'EdE++f' | dc
42

ここが数字であるEと信じていFます(入力基数よりも大きい場合でも)。これの証拠は、それらが数字として結合することです。例F0-> 150。入力基数と出力基数を変更すると、10進数で同じ動作を確認できます。
トビースパイト

同様のものを使用した他の答えがたくさんあります...なぜこれがうまくいかないのはなぜ私だけですか?
イエティ

あなたはすべきではありません-数字を使用する他のソリューションがある場合、それらも有効な答えではありません。
トビー・スペイト

1
もう気にしません!CodegolfもASCIIアートマンデルブロプログラムを作成するタスクの解決策として、グラフィックのマンデルブロ集合のプログラムを受け入れ... codegolfは大きなリセットを必要とし、再起動したときに、私はか...再びルールを気にしないかもしれない可能性があります目
イエティ

7

TI-BASIC、41バイト

0〜10:

X
cosh(X
int(e
int(π
-int(-π
int(√(π³
int(π+π
int(e²
int(eπ
int(π²
Xmax

42:

int(π²/ecosh(π

TI-BASICでは、すべての初期化されていない1文字の変数は0から始まり、Xmax(グラフ画面の右ウィンドウ境界)10から始まります。

数学定数π1バイトですがe、2バイトです。


πは数値データと見なされませんか?
VSZ

@vszかもしれませんが、数字リテラルではありません。opはそうも言っています。
SuperJedi224

@NBZ非常に良い点。私の悪い。
GamrCorps

6

パイソン2、306の 275 274バイト

私は、任意のx(0ではなく整数)に対して式x/xが1に等しいという事実を使用し、ビットごとの操作を試しました。

スニペットを調整して要件を満たします(@nimiに感謝して24バイト節約しました)が、手動でテストする必要があります。コードと個々のバイトカウントは次のとおりです。

zero.py Bytes: 7
len({})
--------------------------
one.py  Bytes: 12
r=id(id)
r/r
--------------------------
two.py  Bytes: 17
r=id(id)
-(~r/r)
--------------------------
three.py    Bytes: 20
r=id(id)
-(~r/r)|r/r
--------------------------
four.py Bytes: 20
r=~id(id)/id(id)
r*r
--------------------------
five.py Bytes: 26
r=~id(id)/id(id)
(r*r)|r/r
--------------------------
six.py  Bytes: 25
r=~id(id)/id(id)
(r*r)|-r
--------------------------
seven.py    Bytes: 27
r=~id(id)/id(id)
-~(r*r|-r)
--------------------------
eight.py    Bytes: 24
r=-(~id(id)/id(id))
r<<r
--------------------------
nine.py Bytes: 29
r=-(~id(id)/id(id))
r-~(r<<r)
--------------------------
ten.py  Bytes: 31
r=~id(id)/id(id)
-r*((r*r)|r/r)
--------------------------
answer.py   Bytes: 37
r=-(~id(id)/id(id))
(r<<r*r)|(r<<r)|r
--------------------------
Total byte count: 274

バイトを保存するにはi=id(id);r=~i/i
Cyoce

6

Math ++、合計92バイト

0(1バイト): a

1(2バイト):!a

2(3バイト):_$e

3(4バイト): _$pi

4(7バイト): _$e+_$e

5(8バイト): _($e+$e)

6(9バイト): _$pi+_$pi

7(8バイト): _($e*$e)

8(9バイト): _($e*$pi)

9(10バイト): _($pi*$pi)

10(12バイト): _$e*_($e+$e)

42(19バイト): _($pi+$pi)*_($e*$e)


5

Javascript(ブラウザ環境)、155 136 130バイト

+[]
-~[]
-~-~[]
-~-~-~[]
-~-~-~-~[]
-~-~-~-~-~[]
-~-~-~[]<<-~[]
-~-~-~-~-~-~-~[]
-~[]<<-~-~-~[]
~(~[]+[]+-[])
-~[]+[]+-[]
-~(top+top.s).length // Requires browser environment

ありがとう:
@Ismael Miguel155- > 136- > 130バイト


1
を使用-~[]+[]+-[]して作成できます10。文字列を返しますが、数字として使用できます。また、使用-~(top+top.s).lengthして42(-8バイト)を計算し、Google Chromeへの依存関係を削除できます。より多くの3つのバイトを保存するには、使用して(P=Math.PI)*P>>+[]9を計算する
イスマエル・ミゲルに

1
申し訳ありませんが、剃ることができる数バイトを忘れてしまいました。を使用~(~[]+[]+-[])して生成できます9。これにより、さらに数バイト削減されます。
イスマエルミゲル

不思議なことに、+[12]与える12+[1, 2]与えるNaN。私はJSが嫌いです

2
@cat JavaScriptの奇妙なキャストシステムが原因です。配列のような文字列にキャスト[1,2,3]=> "1,2,3"のような数字にキャストと文字列"12"=> 12文字列のキャストリターンの非数字文字がある場合はNaN+[1,2]その後、文字列の数にキャストしますが、文字列は、カンマが含まれていそう"1,2"なりましたNaN
user81655

@ user81655それ。です。恐ろしい。

5

真剣に、39 33バイト

括弧内のものは説明です:

 (single space, pushes size of stack, which is 0 at program start)
 u (space pushes 0, u adds 1 (1))
 ⌐ (space pushes 0, ⌐ adds 2 (2))
 u⌐ (space pushes 0, u adds 1 (1), ⌐ adds 2 (3))
 ⌐⌐ (space pushes 0, ⌐⌐ adds 2 twice (4))
 ⌐P (space pushes 0, ⌐ adds 2 (2), P pushes the 2nd prime (5))
Hl▓ (H pushes "Hello, World!", l pushes length (13), ▓ pushes pi(13) (6))
QlP (Q pushes "QlP", l pushes length (3), P pushes the 3rd prime (7))
Ql╙ (Q pushes "QlP", l pushes length (3), ╙ pushes 2**3 (8))
úl▓ (ú pushes the lowercase English alphabet, l pushes length (26), ▓ pushes pi(26) (9))
 u╤ (space pushes 0, u adds 1 (1), ╤ pushes 10**1 (10))
HlPD (H pushes "Hello, World!", l pushes length (13), P pushes the 13th prime (43), D subtracts 1 (42))

プログラムのHexdumps:

20
2075
20a9
2075a9
20a9a9
20a950
486cb2
516c50
516cd3
a36cb2
2075d1
486c5044

6バイトのquintopiaに感謝します!


1
擬似グラフィック文字を含む256文字のコードページを真剣に使用していると思いますか?
アダム

2
@NBZ CP437
Mego

Hl▓
quintopia

úと同じ考え方は9でバイトを節約
quintopia

HlPD42に2バイト、QlP7にQlª1バイト、9にQl╙1バイト、8に1バイトを保存します。
キントピア

5

dc、42バイト

K
zz
OZ
zzz+
OZd*
OdZ/
zzzz*
Ozz+-
OdZ-
Oz-
O
Od+dz++

結果

0
1
2
3
4
5
6
7
8
9
10
42

dcで新しい数値を生成する方法は多くありません。私は使用O:出力ベース、最初は10。K:精度、最初は0。zスタックの深さ、最初は0。Zオペランドの有効数字。これらを通常の算術演算子と組み合わせます。

テストプログラム

#!/bin/bash

progs=(                                         \
    "K"                                         \
    "zz"                                        \
    "OZ"                                        \
    "zzz+"                                      \
    "OZd*"                                      \
    "OdZ/"                                      \
    "zzzz*"                                     \
    "Ozz+-"                                     \
    "OdZ-"                                      \
    "Oz-"                                       \
    "O"                                         \
    "Od+dz++"                                   \
)

a=0
results=()
for i in "${progs[@]}"
do
    results+=($(dc -e "${i}p"))
    (( a+=${#i} ))
done

echo "#dc, $a bytes"
echo
printf '    %s\n' "${progs[@]}"
echo
echo '##Results'
echo
printf '    %s\n' "${results[@]}"

4

Mathematica、101バイト

a-a
a/a
⌊E⌋
⌈E⌉
⌈π⌉
⌊E+E⌋
⌈E+E⌉
⌊E*E⌋
⌈E*E⌉
⌈E*π⌉
⌈π*π⌉
⌊π*π^π/E⌋

これらのいくつかは最適ではないと確信しています。これらの角かっこは本当に高価です。

一貫性を保つために、もちろん最初の2つも可能ですがE-E、未定義の変数を使用した計算E/Eを取得し0たり1、計算から取得したりするのは非常に便利だと思いました。


@NBZ申し訳ありませんが、忘れてしまいました0。場合はa値を取得し0、その後、それは限りとき、それは未使用だとして、問題ではないのですa/a評価されます。
マーティンエンダー

@NBZバイトカウントは、単純にUTF-8バイトカウントです。
マーティンエンダー

4

Japt34 33 30バイト

@ThomasKwaのおかげで1バイト節約

T
°T
C-A
D-A
E-A
F-A
G-A
°G-A
Iq
´A
A
H+A

異なる文字のそれぞれの意味は次のとおりです。

T    0
A    10
B    11
C    12
D    13
E    14
F    15
G    16
H    32
I    64
q    sqrt on numbers
°    ++
´    --

Japtはデフォルトで16進数を取りますか?もしそうなら、それからFまでの数値リテラルになります...
アダム

@NBZ A-Iは、上記のように、デフォルトでさまざまな番号に割り当てられる変数です。A-F10-15に割り当てられます。これはそれらの変数を無効にしますか?
ETHproductions

いいえ。12AB3が有効であるかどうかだけを考えていました。今ではそうではありません。ここにリテラルはありません。一緒に進んでください。:-)
アダム

4

マーベラス、98バイト

それほどエキサイティングではありませんが、?nデバイスに依存して、大理石を0..nの範囲のランダムな値に変換します(これを含む)?0。値は結果に影響せず、Marbelousで関数を一度呼び出す他の方法がないため、リテラルの使用が許可されていると思います。

0:

00  # A hexadicemal literal: value 0
?0  # Turn any marble into a random value from the range 0..0 (inclusive)

1:

00
?0
+1  # increment by one

...

9:

00
?0
+9

10:

00
?0
+A  # increment by 10

42:

00
?0
+L  # increment by 21
+L

0 ... Lは数値リテラルのように見えます。
アダム

2
@NBZそうではありません。独立して使用することはできません。+0から+ Zは組み込み関数のようなものです。退屈ですが有効です。
オーバーアクター

4

> <>、86バイト

  • 0: ln;
  • 1: lln;
  • 2: llln;
  • 3: lll+n;
  • 4: lll:+n;
  • 5: llll+n;
  • 6:llll++n;またはllll:+n;
  • 7: lllll+n;
  • 8: lllll:+n;
  • 9:lllll++n;またはllllll+n;
  • 10:llll+:+n;またはlll:l+*n;
  • 42: llll*ll+*n;

リテラルを取得するには、スタックサイズに依存します。


スタックベースの言語の関数は出力を-11バイトまでスタックに残すことができるため、おそらくnそれぞれを削除できます。
redstarcoder 16

@redstarcoderを使用する;と、合計22バイトを削除して、行の終わりに到達した関数の終わりを考慮することもできますが、すぐに使用できる関数><>がないため、少しあいまいです。
アーロン

技術的には><>、関数にが必要な場合、関数はパラメーターに加えてスタック上の戻り位置(x&y)を受け入れ、計算中にこれらが邪魔にならないことを確認する必要があります([そのコンテキストで役立ちます)、その後、実行を終了した後、戻り位置にジャンプします。少し前にPOCをやっことがあります。興味がある場合はチェックしてください
アーロン

実際にあなたの投稿を見たことがありますが、良い仕事です!私がやった機能のあいまいさに関するメタポストを。私が言っているのは、これが通常許可されていること;です。私が辞めると言う理由;は、そうでなければ関数がなしで終了することを示す方法がないため.です。ほとんどの人はこのフェアを検討しているように見えますが、懸念がある場合はここに特定のメタ投稿を書くことができます。
redstarcoder 16

1
@redstarcoder情報ありがとう!メタ投稿の最も賛成の回答で説明されているように、><>スニペットに接尾辞.を付けることが関数の定義に固執する最良の方法になると思いますが、;あまり説明を必要としない良い選択肢です。
アーロン

4

MS Excelの式、163 151 150 143バイト

正確にプログラミング言語ではありませんが、ここにあります...

0:  -Z9                         (03 bytes)
1:  N(TRUE)                     (07 bytes)
2:  TYPE(T(Z9))                 (11 bytes)
3:  TRUNC(PI())                 (11 bytes)
4:  TYPE(TRUE)                  (10 bytes)
5:  ODD(PI())                   (09 bytes)
6:  FACT(PI())                  (10 bytes)
7:  ODD(PI()+PI())              (14 bytes)
8:  EVEN(PI()+PI())             (15 bytes)
9:  TRUNC(PI()*PI())            (16 bytes)
10: EVEN(PI()*PI())             (15 bytes)
42: EVEN(CODE(-PI())-PI())      (22 bytes)

PI()ほとんどの場合、数値または文字列リテラルを使用せずに数値を導入するより短い方法(私が知っている)が使用されます。Nさまざまなもの(ブール値を含む)を数値にT変換し、さまざまなものをテキストに変換します。TYPEテキスト引数の場合は2を、ブール引数の場合は4を返します。TRUNC(すなわちダウン正の数を丸め)小数部分を破棄し、EVEN次の偶数に切り上げて、ODD次の奇数に切り上げられます。CODE(-PI())-πのテキストへの変換の最初の文字のASCIIコード、つまり45(「-」の場合)です。

編集:バイトカウントから等号を削除(-12!)-コメントでNᴮᶻが指摘したように、それらは含まれるべきではありません。

編集2:ワークシートの残りの部分が空であると仮定すると、空のセルへの参照をゼロとして使用することができます(再びNᴮᶻによって提案されます)型のあいまいさ。


0=Z9
アダム・

=sを削除しました、ありがとう。あなたの提案に関しては、数式がテーブルの内容に依存しないようにするために、意図的にセル参照を避けましZ9た。テキストが含まれている場合、=Z9ゼロはもう返されません。私はテーブルについて何も仮定しないことに決めました。
dnep

とにかく、...あなたは私が再びそれを略奪行われ、私は、少なくとも0に私は1に使用したのと同じロジックを使用して1つのバイトを救うことができる実現
dnep

ただし、一部の言語では、他の変数に設定されていない場合、すべての変数が0に設定されます。このコンテキストでは、Excelは(理論的には無限の)メモリセルA1:ZZZ ..:999 ...を持ち、プログラムコードとデータを区別しない(つまり、自己修正可能)言語としてExcelを見るでしょう。各スニペットは他のスニペットから独立しているため、A1にあり、シートの残りの部分は空白であると想定しています。(プログラムの場合、各セルA1、A2などに1つのステートメント全体があります。)
Adám16年

私はあなたのポイントを見ています...しかし、セル参照にはさらに問題があります:Z9空のシートは0多くの場合に変換される空の値ですが""、いくつかの式で使用されると(空の文字列)に変換される可能性があります- VBAの初期化されていないVariant-したがって、厳密にはに等しくありません0。たとえば、はと評価されますが、= 0&"a" と評価されます。これは、参照に単項式を追加することで解決できます(したがって、VBAの場合と同様に、強制的に数値にする必要があります)。したがって、ゼロとして使用できます。答えを更新しました。再度、感謝します。"0a"= Z9&"a""a"--Z9
16年

4

DUP、68バイト

[
 [
  [
[)]!
[ )]!
[  )]!
[)~_]!
[ )~_]!
[  )~_]!
[   )~_]!
[)$+]!
[ )$+~_$+]!

Try it here.

これを行う方法はたくさんありますが、私はこのためにリターンスタックを悪用しています。

説明

これを完全に理解するには、ラムダに関するDUPの動作を理解する必要があります。ラムダ自体をスタックにプッシュする代わりに、ラムダが検出されると実際に現在のIPをスタックにプッシュします。これは、ラムダを含む最初の3つのスニペットを説明できます。

次のスニペットはリターンスタックを使用します。ときに!実行され、現在のIPは、リターンスタックにプッシュされ、スタックの最上位は、ラムダの実行を開始するために、新たなIPとして設定されています。)戻りスタックからデータスタックに数値をポップします。

これで、残りのスニペットを説明できます。それでも手に入らない場合Stepは、ボタンが非常に便利であることに注意してください!


4

05AB1E、40 38 24バイト

¾
X
Y
XÌ
Y·
T;
T;>
T;Ì
TÍ
T<
T
žwT+
  • counter_variableをプッシュ
  • プッシュ1
  • プッシュ2
  • プッシュ1 + 2
  • プッシュ2 * 2
  • プッシュ10/2
  • プッシュ(10/2)+1
  • プッシュ(10/2)+2
  • プッシュ10-2
  • プッシュ10-1
  • プッシュ10
  • 32、10、プッシュを追加

1
は、よりもスタッククリーンでYx、ここのX代わりに使用できºます(デフォルトは1º平均len(stack)>1、したがってデフォルトでは何もありません)。また、バイト数は35ではなく24です(CP-1252、改行は別個のスニペットであればカウントされません)。
エリックアウトゴルファー16

あなたがこれを投稿した時点ではまだ可能ではなかったことを知っていますが₆t、バイトを保存するために6を押すことができます(プッシュ36、平方根)(オンラインで試してみてください)。
ケビンクルーッセン

3

D1ffe7e45e、112

0
02
020
0202
02020
020202
0202020
02020202
020202020
0202020202
02020202020
202020202020202020202020202020202020202020

各行は異なるスニペットです。

プログラム内の数字は、コマンドとしてのみ使用されるため、数字リテラルとしてはカウントされません。

最後のものは間違いなくもっとゴルフすることができます。

編集:通訳が動作し、すべてのスニペットが動作するようになりました。自分でテストする場合0f0fは、スニペットの最後に追加して、プログラムを終了します。


6
それらは確かに私には文字通りに見えます。また、テストしていないコードを投稿しないでください。
メゴ

2
それらがどのように機能するか説明できますか?
アダム

@NBZ D1ffe7e45eは、2つの16進数の違いに基づいて機能します。その違いは、コマンドに解釈されます。たとえば、0と2の差は2です。これは、増分コマンドとして解釈されます(+Brainf ** kのように)。数字リテラルではなくコマンドとして使用されているため、まだカウントされていると思いました。そうでない場合は、回答を削除します。
ASCIIThenANSI

@Megoインタプリタが動作し、コードが機能しました。これらがリテラルではないと思う理由については、上記のコメントを参照してください。
ASCIIThenANSI

1
これらのいずれもリテラルではないと思います。ただし、各スニペットの結果は、さらなる計算に使用できる実際の数値になる必要があるため、数値を印刷する必要はないと思います。
デニス

3

Pyth、35 34 33バイト

@Mimarikによる-1バイト

一部のプログラムには多くの可能性があります。

0、1バイト

Z

1、2バイト

hZ
!Z

2、3バイト

hhZ
eCG
eCd
lyd
lyb
lyN

3、3バイト

l`d

4、3バイト

l`b
eCN

5、4バイト

hl`b
telG

6、3バイト

elG

7、4バイト

tttT
helG

8、3バイト

ttT

9、2バイト

tT

10、1バイト

T

42、4バイト

yhyT

これらはすべて、基本的なdouble(y)、+ 1(h)および-1(t)コマンド、またはl(文字列の長さ)のいずれかを伴います。Z変数はゼロに初期化されます。

5の場合b、改行文字に初期化されます。バックティックは"\n"、引用符を含み、その文字列の長さは4です。

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


ユーザーMimarikは、で42にバイトを保存することを提案しましたyhyT。(meta.codegolf.stackexchange.com/questions/1615/に従って編集を拒否しました)
Martin Ender
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.