これは偶数か奇数ですか?


65

注:バニラパリティテストの課題はまだありません(C / C ++の課題はありますが、C / C ++以外の言語を使用することはできず、他のバニラ以外の言語もほとんど閉じられています)。 1。

正の整数が与えられた場合、そのパリティ(すなわち、数値が奇数または偶数の場合)を真偽値で出力します。真実の結果が奇数または偶数の入力に対応するかどうかを選択できます。


True / Falseを偶数および奇数と仮定します(これは必須ではありません。それぞれに対して他のTruthy / Falsy値を使用できます)。

(Input):(Output)
1:False
2:True
16384:True
99999999:False

リーダーボード


2
数学と計算パリティを混同したのはこれが初めてではありません... 結局のところ、これはコードサイトです!
ニール

これは(ほとんどこれらの一つであるため123の質問)、それはおそらく、すべての答えを参照するには、スニペットを持っている必要があります。
-fəˈnɛtɪk

4
@MikeBufardeci「カタログ」のスペルは、出身国に基づいて異なるためです。米国の私たちにとって、それは「カタログ」です。「リーダーボード」は文化に不変です。
mbomb007

2
@tuskiomiこのチャレンジは、正の整数についてのみ質問します。(0は偶数と見なされますが、正ではありません)
カルビンの趣味

3
@LucioCrusca PPCGへようこそ!Code Golfの基本的な考え方は、できる限り短い形式でプログラムを作成することです。この課題は、整数(正、非ゼロ)を読み取り、偶数または奇数の場合に出力することです。何か混乱している場合は、The Nineteenth Byteにアクセスして自由に質問してください。または、サイトのポリシーまたはルールと混同されている場合は、Metaにアクセスしてください。最後に、コミュニティに登録していただきありがとうございます!
マシュー

回答:


112

ArnoldC299 283バイト

IT'S SHOWTIME
HEY CHRISTMAS TREE i
YOU SET US UP 0
GET YOUR ASS TO MARS i
DO IT NOW
I WANT TO ASK YOU A BUNCH OF QUESTIONS AND I WANT TO HAVE THEM ANSWERED IMMEDIATELY
GET TO THE CHOPPER i
HERE IS MY INVITATION i
I LET HIM GO 2
ENOUGH TALK
TALK TO THE HAND i
YOU HAVE BEEN TERMINATED

これ1は、奇数入力に対しては(真実である)出力を、偶数入力に対しては(偽である)出力を行い0ます。

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

今、これが計画です」(説明の試み)

コードは入力を変数に読み取り、iそれをモジュロ2の結果に置き換えてから出力します。

IT'S SHOWTIME                                    # BeginMain
HEY CHRISTMAS TREE i                             #   Declare i
YOU SET US UP 0                                  #   SetInitialValue 0
GET YOUR ASS TO MARS i                           #   AssignVariableFromMethodCall i
DO IT NOW                                        #   CallMethod
I WANT TO ASK YOU ... ANSWERED IMMEDIATELY       #   ReadInteger
GET TO THE CHOPPER i                             #   AssignVariable i
HERE IS MY INVITATION i                          #     SetValue i (push i on the stack)
I LET HIM GO 2                                   #     ModuloOperator 2
ENOUGH TALK                                      #   EndAssignVariable
TALK TO THE HAND i                               #   Print i
YOU HAVE BEEN TERMINATED                         # EndMain

27
私の最初のArnoldCの答え!
ルイスメンドー

16
BULLSHIT YOU HAVE NO RESPECT FOR LOGIC GET TO THE CHOPPER
魔法のタコUr

17
GET YOUR ASS TO MARS...言葉も出ない。
マシュー盧

12
私はこれに賛成するためにこのコミュニティに参加しました。よくやった、サー
エリック

2
私もこの投稿に賛成するためにこのコミュニティに参加しました。:)
ヴァダポシェ

46

brainfuck、8バイト

+[,>,]<.

入力は単項です。出力は、奇数の場合は1(真)、偶数の場合はNUL(偽)です。

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

使い方

+whileループに入ることができるように、現在のセルをインクリメントすることから始めます[,>,]

各反復で、,STDIN から1バイトを読み取り>、右側のセルに進み,、STDINから別のバイトを読み取ります。入力が使い果たされると、インタプリタ(とにかくTIOのインタプリタ)は代わりにセルをNULに設定します。それが起こると、whileループの条件は満たされなくなり、抜け出します。

ましょうn個の入力整数です。入力バイトが偶数の場合、つまりnが偶数の場合、最初のn / 2回の反復で2つの1が読み取られ、次の反復で2つのNULが読み取られ、テープは次のようになります。

...   1  NUL  NUL
...  49    0    0
                ^

<.1つのセルを遡ってその内容を印刷し、NULバイトをSTDOUTに送信します。

ただし、入力バイト数が奇数の場合、最初の(n-1)/ 2回の反復で2つの1が読み取られ、次の反復で1つの1と1つのNULが読み取られ、テープは次のようになります。

...   1    1  NUL
...  49   49    0
                ^

<これで、バイト/文字1を保持しているセルに戻り、.印刷されます。


34

Mathematica、4バイト

OddQ

True奇数の入力と偶数の入力を与えるのはFalse誰ですか?

がありますがEvenQ、それをすべて入力したい人はいますか?


22
大野。再びビルトイン。
マシュー

7
@SIGSEGVこれはyaのMathematicaです。;)
ケビンクルーッセン

6
2∣#&作品も
ケリーロウダー

1
@KellyLowder trueですが、それは6バイトです。
マーティンエンダー

なぜ名前の末尾はQ
チョイス

26

タクシー1,482 1,290 1,063 1,029 1,009バイト

私は以前にタクシーでプログラムを書いたことがなく、私は一般的なプログラミングの初心者です。私はエラーをチェックし、同じ結果の異なるルートを試すことで少しゴルフをすることに成功しました。すべての改訂を歓迎します。

0偶数と1奇数を返します。

Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:s 1 l 1 r.Pickup a passenger going to Divide and Conquer.2 is waiting at Starchild Numerology.Go to Starchild Numerology:n 1 l 1 l 1 l 2 l.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:e 1 l 2 r 3 r 2 r 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 1 l 2 l.Pickup a passenger going to Trunkers.Pickup a passenger going to Equal's Corner.Go to Trunkers:s 1 l.Pickup a passenger going to Equal's Corner.Go to Equal's Corner:w 1 l.Switch to plan "b" if no one is waiting.Pickup a passenger going to Knots Landing.Go to Knots Landing:n 4 r 1 r 2 r 1 l.[a]Pickup a passenger going to The Babelfishery.Go to The Babelfishery:w 1 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 l 1 r.[b]0 is waiting at Starchild Numerology.Go to Starchild Numerology:n 1 r.Pickup a passenger going to Knots Landing.Go to Knots Landing:w 1 r 2 r 1 r 2 l 5 r.Switch to plan "a".

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

そうです、改行なしで読むのはひどいです。フォーマットされたバージョンは次のとおりです。

Go to Post Office:w 1 l 1 r 1 l.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery:s 1 l 1 r.
Pickup a passenger going to Divide and Conquer.
2 is waiting at Starchild Numerology.
Go to Starchild Numerology:n 1 l 1 l 1 l 2 l.
Pickup a passenger going to Divide and Conquer.
Go to Divide and Conquer:e 1 l 2 r 3 r 2 r 1 r.
Pickup a passenger going to Cyclone.
Go to Cyclone:e 1 l 1 l 2 l.
Pickup a passenger going to Trunkers.
Pickup a passenger going to Equal's Corner.
Go to Trunkers:s 1 l.
Pickup a passenger going to Equal's Corner.
Go to Equal's Corner:w 1 l.
Switch to plan "b" if no one is waiting.
Pickup a passenger going to Knots Landing.
Go to Knots Landing:n 4 r 1 r 2 r 1 l.
[a]Pickup a passenger going to The Babelfishery.
Go to The Babelfishery:w 1 l.
Pickup a passenger going to Post Office.
Go to Post Office:n 1 l 1 r.
[b]0 is waiting at Starchild Numerology.
Go to Starchild Numerology:n 1 r.
Pickup a passenger going to Knots Landing.
Go to Knots Landing:w 1 r 2 r 1 r 2 l 5 r.
Switch to plan "a".

ロジックを説明するための私の最善の試みは次のとおりです。

Go to Post Office to pick up the stdin value in a string format.
Go to The Babelfishery to convert the string to a number.
Go to Starchild Numerology to pickup the numerical input 2.
Go to Divide and Conquer to divide the two passengers (stdin & 2).
Go to Cyclone to create a copy of the result.
Go to Trunkers to truncate the original to an integer.
Go to Equal's Corner to see if the two passengers are the same.
Equal's Corner returns the first passenger if they're the same (no .5 removal so the stdin was even) or nothing if they're not.
If nothing was returned, it was odd, so go pick up a 0 from Starchild Numerology.
Go to Knots Landing to convert any 0s to 1s and all other numbers to 0s.
Go to The Babelfishery to convert the passenger (either a 1 or 0 at this point) to a string.
Go to Post Office to print that string.
Try and fail to go to Starchild Numerology because the directions are wrong so the program terminates.

タクシーガレージに戻っていないことはSTDERRに出力が発生するが、私はしていたものと罰金


7
gotoが悪であることを常に学びました
アロス

2
言語ではgo toを広範囲に使用する必要があるだけでなく、唯一の分岐方法はgotoの異なる名前であるプランを使用することです。
エンジニアトースト

23

網膜、8バイト

[02468]$

10進数入力用のRetina回答。これは、ほぼすべての正規表現フレーバーで機能する単純な正規表現ソリューションでもあります。マッチ(および印刷1)も入力および一致しない(および印刷0)奇数の入力に対して。

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

また、8バイトの場合は、音訳ステージを使用してすべての偶数桁をx最初に変換します(音訳ステージには偶数/奇数の数字が組み込まれているため)。

T`E`x
x$

もちろん、この場合、最短の入力形式(単項より短い)はバイナリで、単純な正規表現で0$十分です。しかし、課題は本質的に最も重要度の低い2進数を見つけることであるため、バイナリ入力は実際の課題を回避するようです。


1
「TeX」の場合は+1。私は、LaTeXの答えは...見たくなる
Brevan Ellefsen

@Richardそして、したがって、それは処理される必要がある有効な入力ではありません。(それは実際にはそれがとにかく正しく処理されることを意味しますが。)
マーティンエンダー


20

LOLCODE、67バイト

HOW DUZ I C YR N
  VISIBLE BOTH SAEM MOD OF N AN 2 AN 0
IF U SAY SO

WIN数値が偶数の場合(true)を返す関数、そうでない場合(odd)はFAIL(false)を返します。

で呼び出しC"123"ます。


20

MATL5 3バイト

ビルトインは退屈だから

:He

これは、偶数の入力に対して非ゼロ値のマトリックス(真理)を出力し、奇数の入力に対して右下のエントリにゼロを持つマトリックス(偽)を出力します。

オンラインでお試しください!フッターコードはif-else、結果の真実性または虚偽を示すブランチです。そのフッターを削除すると、マトリックスが暗黙的に表示されます。

説明

5例として入力を検討する

:     % Implicitly input n. Push row vector [1 2 ... n]
      % STACK: [1 2 3 4 5]
He    % Reshape into a 2-row matrix, padding with zeros if needed
      % STACK: [1 3 5;
                2 4 0]

7
HEAA、HEAA、HEAA「を組み込み関数は退屈している」(申し訳ありませんがそれは悪いしゃれた)。
マシュー盧

3
@SIGSEGV HeHeHe
ルイスメンドー

2
賢いアプローチ!:)
Stewie Griffin

17

Java 8、8バイト

n->n%2<1

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

Java 7、30バイト

Object c(int n){return n%2<1;}

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

偶数trueおよびfalse奇数の出力


1/0代わりに許可される場合true/falseここでは投票数を考慮すると、許可されません):

  • Java 8(6バイト): n->n%2
  • Java 7(25バイト): int c(int n){return n%2;}

22
ばかげて冗長なJavaの要素はどこにありますか?私はこれがであると感じ少なくとも ... 50のバイトが短すぎる
Stewieグリフィン

2
むかしむかし、code-trollingというタグがありました。しかし、この1は、ある非常に素晴らしい受け入れられたJava-答え、そしてここ、コードゴルフの答え。そしてさらに
スティーヴィーグリフィン

2
@lukegやあ、デフォルトはprogramまたはfunction、チャレンジが別段の記載がない限り。つまり、JavaやC#などの言語では、クラス全体ではなく、関数(および必要なインポート)のみを投稿できます。質問者が特にプログラムを要求する場合、クラス/インターフェースやメインメソッドのような境界線コードを含める必要があります。
ケビンCruijssen

1
@lukegチャレンジに自分で答えたい場合、Javaゴルフを楽しむためのヒントをいくつか紹介します。PPCGへようこそ!:)
ケビンクルーッセン

6
@StewieGriffinそこに行きます!int o(int n){return java.util.stream.IntStream.of(n).map(n->n%2).filter(n==0).fi‌​ndAny().isPresent();‌​}
オリビエグレゴワール

16

Piet、15コーデル/ 16バイト

Source Code

5njaampjhompppam

オンライン通訳はこちらから入手できます。

このプログラムは、入力が偶数の場合は0を返し、入力が奇数の場合は1を返します。

上記のテキストは画像を表しています。インタプリタページのテキストボックスに貼り付けて、イメージを生成できます。便宜上、コーデルサイズが31ピクセルの画像を以下に示します。グリッドは読みやすくするためにあり、プログラムの一部ではありません。

説明

このプログラムはモジュロ組み込み関数を使用して、入力が偶数か奇数かを判断します。

Instruction    Δ Hue   Δ Lightness   Stack
------------   -----   -----------   -------
In (Number)    4       2             n
Push [2]       0       1             2, n
Modulo         2       1             n % 2
Out (Number)   5       1             [Empty]
[Exit]         [N/A]   [N/A]         [Empty]

左下の濃い青色のコーデルは決してアクセスされず、隣接するコーデルの色以外の色に変更できます。プログラムの残りの部分で見栄えが良いと思うので、私はダークブルーを選びました。左上の黒のコーデルも白にすることができますが、他の色はできません。見た目が良いと思うので、黒を選びました。

Pietプログラムの採点方法について明確なコンセンサスがないため、プログラムを画像形式とテキスト形式の両方で提供しました。メタディスカッションを自由に検討してください。



14

JavaScript、6バイト

匿名関数:

n=>n&1

または、同じ長さの場合:

n=>n%2

両方が返さ0|1れ、どちらがtruthy|falsey値の要件を満たします。

オンラインで両方のバージョンを試してください


Javaの回答によると、これは要件を満たしていません。この点でJavaScriptは違いますか?
TheLethalCoder

4
質問には、「これは必須ではありません。他のTruthy / Falsyの値を使用できます」と明記されています0|1。@TheLethalCoder
insertusernamehere

1
それらが私が尋ねていたJavaScriptであるかどうかはわかりません。メタq / aを参照して、そうであるかどうかを確認てください。私はJavaScriptについて十分な知識がありません。
TheLethalCoder

4
JavaScriptはJavaよりもはるかに緩やかに型付けされます。どんなものでもどんなタイプでも扱うことができてうれしいです。特に、floatをブール値として扱うのは嬉しいことです(これを行うと、Javaはコンパイル時エラーをスローします)。(ところで、これが整数ではなく浮動小数点数を返す理由を知りたくない場合があります。)

1
良い:)私は自分自身を知るほど馴染みがなかったので、ただ疑問に思っていました。
TheLethalCoder

12

Japt、1バイト

v

奇数、偶数の1場合に戻ります0

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

説明

Japtの定義機能の1つは、ほとんどのゴルフ言語とは異なり、関数には固定されたアリティがありません。つまり、どの関数も任意の数の引数を受け入れることができます。これは、引数を省略できる場合があることを意味し、Japtは必要なものを推測します。von numbersは、1つの引数を受け入れ1、引数が引数で割り切れる場合、else を返す関数です0。例えば:

v3

このプログラムは1、入力が3で割り切れる場合に出力し、0そうでない場合に出力します。デフォルト引数が2であることがたまたま発生し、それによってこの課題を1バイトで解決します。


別の1バイトソリューション:

¢

¢入力を基数2の文字列に変換します。-hフラグは、文字列の最後の文字を返します。

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


11

brainfuck、12バイト

,++[>++]>++.

これには、円形テープとラップアラウンドするセルを備えた通訳が必要です。TIOの1つには65,536個の8ビットセルがあり、要件を満たしています。

I / Oはバイト単位です。奇数入力は0x00(偽)にマッピングされ、偶数入力は非ゼロバイト(真)にマッピングされます

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

使い方

で入力バイトを読み取り、その値に2,追加することから始めます。なぜ増分が必要なのかは後で説明します。++

次に、右側のセルに進むループに入り、2を追加し、セルの値を0に設定しない限りプロセスを繰り返します

最初は、入力セルを除くすべてのセルが0を保持します。入力が奇数の場合、2を追加してもゼロになることはありません。ただし、テープを127回ループした後、ループの次の反復により、入力セルの右側のセルが128×2 = 0(mod 256)に設定され、ループが終了します。>++ループ本体をもう一度繰り返します。そのため、次のセルもゼロにリセットされ、で印刷され.ます。

一方、入力がnnが偶数の場合、ループ前のコードは入力セルをn + 2に設定します。テープ(256-(n-2))/ 2 =(254-n)/ 2回ループした後、入力セルは0になり、その右側のセルは値(254-n)/ 2を保持します×2 = 254-n。添加後2を用いて>++.印刷する256 - N = -n(MOD 256) 、以降、非ゼロであるnが非ゼロです。

最後に、ループの前に入力をインクリメントしなかった場合、2番目のケースでは258-n = 2-n(mod n)が出力されることに注意してください。したがって、プログラムは入力2で失敗します。


11

Sinclair ZX81 BASIC 124バイト 114バイト 109バイト 57 50トークン化BASICバイト

以下のAdámのコメントによると、最新のリリース候補は次のとおりです。

 1 INPUT A
 2 IF NOT A THEN STOP
 3 PRINT A;":";NOT INT A-(INT (INT A/VAL "2")*VAL "2")

今ではPRINT 1、偶数と0奇数のためになります。ゼロが終了します。

参考のために、シンボリックリストの古いバージョンを以下に示します。

 1 INPUT A
 2 IF NOT A THEN STOP
 3 LET B=INT (INT A/2)
 4 PRINT A;":";NOT INT A-B*2
 5 RUN

以下は古い(v0.01)リストです。これにより、この新しいリストが小さくなっただけでなく、より高速になったため、私が行った改善を確認できます。

 1 INPUT A
 2 IF A<1 THEN STOP
 3 LET B=INT (INT A/2)
 4 LET M=1+INT A-B*2
 5 PRINT A;":";
 6 GOSUB M*10
 7 RUN
10 PRINT "TRUE"
11 RETURN
20 PRINT "FALSE"
21 RETURN

そして、ここにv0.02があります(Sinclairサブストリングを使用):

 1 INPUT A
 2 IF NOT A THEN STOP
 3 LET B=INT (INT A/2)
 4 LET M=1+INT A-B*2
 5 LET C=4*(M=2)
 6 PRINT A;":";"TRUE FALSE"(M+C TO 5+C+(M=2))
 7 RUN

ZX81 in action - true or false from v1/2


1
これはkolmogorov-complexityではありません。与えられた入力に対して0または1を返す必要があります。
アダム

質問は、返される必要があるtrue / falseのような<i> read </ i>として最初のエントリを作成したため、編集されたように見えます。そのため、シンボリックリストをさらに簡略化できます。
ショーンビバーズ

1
なぜゼロで終了する必要があるのですか?ただできないのPRINT (A-2*INT A/2)/A
アダム

親切に編集された元の質問では、それは価値があること指定0生み出すべきではないTRUEか、とFALSEのように、したがって、0その後、私はそれをした結果を生成することになっていませんでしたSTOPプログラムに対してpingを実行します。@SIGSEGVによって文字通りに投稿されたため、おそらく元の質問を解釈したでしょう。はい、最適化とリファクタリングができます、あなたは正しいです。
ショーンビバーズ


8

網膜、3バイト

11

末尾の改行は重要です。単項で入力を取ります。奇数の場合は1を出力し、偶数の場合は何も出力しません。オンラインでお試しください!


TIOから完全な回答を(末尾の改行に必要な書式を付けて)コピーするだけです。
マーティンエンダー

@MartinEnderいいえ、知りませんでした。
ニール

パーマリンクを生成するときの最後から2番目のスニペットです。
マーティンエンダー

ああ、それは全体の断片ですか?タイトル行が表示されます。
ニール

@Neilスニペットをクリックすると、スニペットが展開され、ボディが表示されます
ダダ

8

C ++、25バイト

template<int v>int o=v&1;

これは、ビットごとの操作に等しい値を持つ変数テンプレート(関数のような構成体)を定義しますinput&10偶数値の場合、1奇数値の場合。値はコンパイル時に計算されます。

C ++ 14が必要です。

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


うわー、それは本当に賢いようです。このような答えを見たことはありません!これをどう呼ぶの?
DJMcMayhem

@DJMcMayhemこれは、C ++ 14の変数テンプレートの簡単な使用法です。ただし、それほど賢いわけではありません。単純な関数aproach(int o(int v){return v&1;})は、実行時に値が計算されるという違いを除いて、同じ量のバイトを使用します。
カシオレナン

コードは単にreturn 1またはreturn 0にコンパイルされるため、これが実際に適格だとは思いません。同じコンパイル済みコードを再度実行しても、異なる結果が得られることはありません。定数に近い。
酒に酔ったコードモンキー

@DrunkenCodeMonkey評価時間は無関係です。重要なのは、構成体に引数を渡して(入力を提供)、結果を返す(出力を返す)ことです。あなたの観点からは、修飾可能な関数はありません。-likeコンストラクトがないmain()と、プログラムは単ににコンパイルされるreturn 0か、まったくコンパイルに失敗することさえあります。これは、この回答でリンクしたメタ投稿と矛盾しています。
カシオレナン

1
C ++ラムダ関数は、3つのバイトを保存し[](int x){return x%2;} 、オンラインでそれを試してみてください
ヨハン・デュToit

8

Pyth、3 2バイト

やったよ。私はゴルフできないゴルフをしました。かつて、それはその最後のバイトを取得することができた重要なソリューションです!

!F

偶数値については真実(0を含まないが、それは正ではないので...)。

説明:

!    Not
 FQQ Applied to the input (first Q) Q times

たとえば!!2 = !0 = 1!!!3 = !!0 = !1 = 0

以下に3バイトソリューションのライブラリを保管します。

「複数の3バイトソリューションには別の答えがありますが、完全にはほど遠いです。さらに2つ追加しましょう。

@U2

リストへのインデックスを[0,1]モジュール形式で作成し、奇数の入力に真実の値を与えます。

}2P

2は入力の素因数分解ですか?(偶数で真実)

ti2

GCDは2で、入力は2ですか?(偶数で真実)

gx1

入力と1のXOR演算は減少しませんか?(偶数で真実)

q_F

基本的Q == Q*-1^QにQは入力ですが、ループを介して行われます。(偶数で真実)

_FI

同上。

g^_

Q <= -Q^Q(偶数で真実)に翻訳します

上記の解決策はいずれも、裏返した真実偽造に対してg機能することに注意してください<。)


1
はい、それはかなり賢いです:)
デジタル外傷

7

C#、8バイト

n=>n%2<1

にコンパイルしますFunc<int, bool>

または、匿名関数が許可されていない場合、21バイトのこのメソッド:

bool p(int n)=>n%2<1;

@obarakon C#ではありません。metaでこの回答を参照してください。基本的にif (1)コンパイルしません。
TheLethalCoder

if (1)あなたのコードにはありませんか?
あなた

1
@YOU正解です。メタ投稿を読んで、私が何を意味しているかを理解してください。
TheLethalCoder

2
@YOU、(このサイトで)真実/偽の値の受け入れられている定義は次のとおりです。trueとif (x)評価された場合x、真実の値です。falseと評価された場合、それはfalseです。そのため、擬似コードで:if x, disp(true), else disp(false)。コンパイルに失敗した場合、x使用できません。MATLABおよび他のいくつかの言語では、ゼロ以外の値はすべてtrue 0false見なされ、false と見なされます。そのため、文字列HelloはMATLABの真の値です。ただし、一部の言語では、値をブール値にする必要があります(この場合)。したがって、を使用して、ブール値に変換する必要があります<1
スティーヴィーグリフィン

そうですか。説明ありがとう。
あなた


7

TIS-100、39バイト

もちろん、これは、より正確には、TIS-100エミュレーターによってエミュレートされるT21基本実行ノードアーキテクチャ用のプログラムです。

TIS-100プログラムのスコアリングとその構造について、非常に詳細な説明については、この回答を参照してください。

@0
ADD UP
G:SUB 2
JGZ G
MOV ACC ANY

説明:

@0          # Indicates that this is node 0
ADD UP      # Gets input and adds it to ACC, the only addressable register in a T-21
G:          # Defines a label called "G"
SUB 2       # Subtracts 2 from ACC
JGZ G       # If ACC is greater than 0, jumps to G
MOV ACC ANY # Sends the value of ACC to the first available neighbor; in this case, output.
            # Implicitly jumps back to the first line

擬似コードでは、次のようになります。

while (true) {
    acc = getIntInput()
    do {
        acc -= 2
    } while (acc > 0)
    print(acc)
}

T21にはブール型または真実/偽の値がないため、プログラムは、前の入力が奇数でない限り、奇数の場合は-1を返し、偶数の場合は0を返します。数字-その事実があなたを邪魔するなら、これは完全なプログラムの答えであるので、使用の間にT21を再起動することができます。


先週購入したかったので、ZachtronicsパズルゲームTIS-100を考えていました。TISも実際の言語ですか、それともそのビデオゲームにのみ存在しますか?
seshoumara

@seshoumara私の知る限り、ゲーム内にのみ存在します。TISのマシンのアーキテクチャ全体は、やや典型的なものであり、このアセンブリスタイルの言語はそれをフックします。
-steenbergh

私は確認できますが、それはゲーム内にのみ存在します(そして実際、宇宙でさえ奇妙で奇妙なアーキテクチャです)。Turtlemanがリンクしている答えを、あたかも本物のTISデバイスがあるかのように書きましたが、楽しみのために性格だけでそれをしました。
地下

2
@Blacksilver本当の課題は、Spacechemで答えを出すことだと思います!
タトルマン

1
TIO用のTISエミュレータを実装したので、オンラインで試してみることができます!
プラックス

6

ゼリー、1バイト

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

ちょうど別のビルトイン。

Jellyを知らない人のために:不足しているコードを推測する能力がかなりあるため、スニペット、関数、および完全なプログラムの間に構文上の違いはあまりありません。インタープリターは自動的にコードを追加して適切な引数を入力し、結果を出力します。これは、機能とプログラムは許可するがスニペットを許可しないPPCGルールを扱う場合に非常に便利です。TIOリンクでは、これを関数として扱い、1から20までの各整数で実行していますが、完全なプログラムとしても機能します。

ゼリー、2バイト

&1

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

組み込みなしでもかなり短いです。(これは1のビット単位ANDです。)


2
これらのすべての言語は、これらの質問には少しカンニングのようですlol
Drunken Code Monkey

6

7、18文字、7つのバイト

177407770236713353

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

7には通常のifステートメントに似たものはなく、ブール値を表すための複数の慣用的な方法があります。そのため、何が真実であり、偽であるかを知るのは難しいですが、このプログラムは1奇数(偶数の場合はNULL文字列)にします(7インタープリターが記述されているPerlの真実と偽の値)。(これを変更するのは簡単です;最初の7の前に奇数の出力を指定し、最初の2つの7の間に偶数の出力を指定します。他のタイプの出力を処理するために出力形式の変更が必要になる可能性がありますが、2つを使用しましたここで最短の個別の出力。)

7は圧縮された8進数エンコードを使用します。このエンコードでは、ソースの3バイトがプログラムの8バイトを表すため、ソースの18文字はディスク上の7バイトで表されます。

説明

177407770236713353
 77  77     7       Separate the initial stack into six pieces (between the 7s)

        023         Output format string for "output integers; input one integer"
       7   6        Escape the format string, so that it's interpreted as is
             13     Suppress implicit looping
               3    Output the format string (produces input)
                5   Run the following code a number of times equal to the input:
   40                 Swap the top two stack elements, escaping the top one
                 3  Output the top stack element

多くの出力形式と同様に、「出力整数」は、出力前に任意の数のエスケープレベルを取り消します。したがって40、スワップ操作とエスケープ操作を組み合わせたを、スワップ操作の代わりに使用できます405(スワップ操作とそれに続くエスケープなし)。エスケープに関して安定していない出力形式を使用している場合は、完全な形式が必要405です。(ちなみに、元々フォーマット文字列をエスケープする必要があった理由は、最初の出力に表現できない文字が含まれている場合、自動的に出力フォーマット7を強制するためです。

6つの初期スタック要素のうち、一番上がメインプログラムです(そして、13それが最初に実行されるものによって消費されます)。2番目は、023出力形式を選択し、入力を要求し、その操作によって消費されます。3番目は3操作の副作用として消費されます(出力の生成に加えてスタック要素を破棄するために使用されます)。4番目40は、ループの本体です(そして、5を実行することでます)。5番目と6番目は入力と同じ回数だけスワップされます(したがって、入力が偶数の場合は元の位置に、入力が奇数の場合は互いの位置になります)。

リーディング177を変更して17(そして暗黙の空の6番目のスタック要素に依存して)キャラクターをオフにゴルフすることはできますが、それは出力のパリティをodd-is-trueよりも慣用的でない方法に変更し、保存しません1バイト全体(ソースの長さはまだ7バイトです)。そのため、スコアを悪化させないため、より自然な形式の出力を使用することにしました。


6

Brain-Flak22 20バイト

Brain-Flakのもう1つのクールな答えはこちらです。

(({})){({}[()]<>)}<>

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

説明

まず、で入力のコピーを作成し(({}))ます。

一番下のコピーは実際の処理に使用され、一番下のコピーは真偽値として機能します。これは、入力が一番上にある必要があるためです。入力の下に1を置くのはかなり面倒です(余分な2バイト!)。

次に、ループを開始します{({}[()]<>)}。これは、減少するたびにスタックを切り替える標準のカウントダウンループの簡単な変更です。

2つのスタックがあるため、偶数は開始されたスタックの最上部で終わり、奇数は反対側のスタックで終わります。コピーされた値はそのまま残り、開始点のマーカーとして機能します。

ループが完了すると、0(元の入力)が真(入力のコピー)または偽(空のスタック)の値の上に置かれます。もう一方のスタックにも反対の値があります。

または0で削除できるを取り除く必要があります。どちらも機能しているようで、逆の結果をもたらします{}<>{}もたらすように見えますが、真実を返す必要がある場合、ゼロの偽の値発生します。これは、「真の」値が入力のコピーであり、偽の可能性がある唯一の入力がゼロだからです。

この問題は、<>代わりにプログラムを終了することで解決されます。

(もちろん、仕様によれば、技術的にゼロをサポートする必要はありませんが、サポートしたい2つのオプションを提供します)


6

BitCycle19 17 16バイト

?ABv
 / \ <
!+ <

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

ああ、私は手の届かないところに浮かぶ18バイトの解決策があるように感じます:( Haha!-2バイトを使用し+て、異なる方向から来るビットをリダイレクトします

これはまだそこに余りにも多くの空白があるように感じます(6バイト全体!)

説明:

?ABv    Feed unary input into the main loop
 / \    Every loop, two bits will be removed from the input
 + <

 / \ <  When we reach the point where there is either one or no bits of input left
!+      If one, it will reflect off both /\s and turn left at the +
        And output, otherwise the program ends since no more bits are moving

5

バッチ、16バイト

@cmd/cset/a%1%%2

奇数の場合は1、偶数の場合は0を出力します。代替の16バイトバージョンは、負の数でも機能します。

@cmd/cset/a"%1&1

偶数の場合は1、奇数の場合は0を出力する17バイト:

@cmd/cset/a"~%1&1

プログラムはMODの結果のみをエコーし​​ますが、これは正しくありません。質問は、出力形式は次のようにすべきであると述べました。(Input):(Output)"
-stevefestl

5

Excel、10バイト

=MOD(A1,2)

または:

=ISODD(A1)

出力用:

http://i.imgur.com/7dJydqc.png


1
私はコードゴルフで優れたものを見たことがありません
Programmer5000

1
このコードの代替Excel VBAバージョン?[A1]mod 2。入力を受け取り、匿名VBEの即値窓関数[A1]とVBEの即値ウィンドウに出力する0(falsey)偶数と表す1奇数表す(truthy)
テイラースコット

5

JSFuck9685 9384 6420バイト

JSFuckは、JavaScriptのアトミックな部分に基づいた難解で教育的なプログラミングスタイルです。コードの記述と実行に使用するのは6つの異なる文字のみです。

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[!+[]+!+[]]+(!![]+[])[+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]

奇数の場合は1、偶数の場合は0を出力します。

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

alert([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[!+[]+!+[]]+(!![]+[])[+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]](prompt()))


true / falseの代わりに0/1を出力できると思います。alert(prompt()%2)9384文字のようです。
-ETHproductions

私はこれを6497文字にまで減らしました。これは、次のJavaScriptと同じです[]["fill"]["constructor"]("return this%2")["call"]fillこれは、配列メソッドの中で最も少ない81文字しか使用しないためです。また、JSFuckは別個の言語ではなく、JavaScriptのサブセットであると主張できます。
ルーク

@Lukeコードスニペットでそれを実行することはできません。これは単なる冗談の答えなので、私が間違っていることを理解するのを助けてくれない限り、アラートベースのバージョンに固執します。
powelles

@Lukeスペースをa +に置き換えてさらに77バイトを節約します;-)そして、私は個人的にJSFで答えることは問題ないと思います。基本的にはJSの方言です。
ETHproductions

貼り付けたコードは関数名のようなものです。括弧を追加し、引数を含めるだけです。
ルーク

5

Bash + bc、21 14 11 9バイト

bc<<<$1%2

コマンドライン入力を読み取り、mod操作で値を文字列に展開し、計算のために文字列をbcにパイプします。奇数の場合は1、偶数の場合は0を出力します。

テストケース:

(Input):(Output)
1:1
2:0
16384:0
99999999:1

編集:@ ais523のおかげで7バイトを保存
編集2:@Dennisのおかげでさらに3バイトを
保存編集3:@Dennisのおかげでさらに2バイトを保存


2
サイトへようこそ!
DJMcMayhem

おそらく$1、stdinからの読み取りにバイトを費やすのではなく、コマンドライン引数からbashへの入力(など)を受け取ることができますか?

@ ais523:すばらしい提案です!コマンドラインだけでなく、スクリプトで実行することを検討する必要がありました。
クリストファーピッツ

これはに短縮できbc<<<$1%2ます。
デニス

@デニス:ありがとう!私は以前にそれを試しましたが、構文を正しく取得できませんでした。
クリストファーピッツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.