止まりますか?(警官)


94

これは警官のスレッドです。強盗のスレッドはこちらです。

あなたの課題は、特定の入力を取得しない限り1を停止せずに永久に実行するプログラムを作成することです2。その入力を受け取った場合、有限時間3で終了する必要があります。これはであるため、投稿から1週間以内に強盗によって解読されなかった最短の回答が勝ちです。1週間が経過した後、回答を安全とマークし、停止中の入力を表示してください(a > ! spoiler quote)。強盗があなたの提出物をクラックした場合、クラックされたものとしてマークし、停止中の入力を表示してください(> ! spoiler quote)。

提出は、TIOで実行およびクラック可能にすることが推奨されます。TIOで実行またはクラックできないサブミッションは許可されますが、ダウンロード/実行の手順を含めてください。

入力を確定的で、すべての実行で統一してください。詳細については、このメタ投稿を参照してください。

「RSAを実装する」など、強盗には意味がありません。退屈な暗号化とハッシュではなく、あいまいな言語と機能を使用します。私はルールでこれを強制することはできませんが、あなたがすることがすべてである場合、あなたは集中的な降格を期待することができますsha(input) === "abcd1234"


1コンピューターがシャットダウンしたり、壊れたり、太陽に飲み込まれたり、宇宙の熱死で過熱したり、60秒のTIOタイムアウトに達したりしないと仮定します。

2プログラムは少なくとも 1つの入力停止する必要があります。ある入力で永久にループし、別の入力で停止する限り、機能します。

3これは60秒未満でなければならず、TIOでコードをテストできます。


クラックされていない提出物をお探しですか?

fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>


1
@LuisMendo無限のメモリが正常であれば
programmer5000

1
@ programmer5000明確にしてくれてありがとう。このすべてをチャレンジテキストに組み込む必要があります。回答者はすべてのコメントを読むことは期待されていません
ルイスメンドー

6
入力を、たとえば整数に制限できますか?強盗は、不正な入力または入力ミスを入力して、プログラムをすぐに終了する可能性があります。入念な入力検証をたくさん行うか、任意のエラーをキャッチできる言語を使用する必要があります。
-xnor

3
@xnor入力チェックを行う必要があると思います。
スティーブン

1
@StepHen不正な入力がインタープリターによってまだ解析できる場合に機能します。不正な文字列を入力すると、Rすぐにエラーが発生し、クラックする機能を入力することさえありません。私はそれが実際に機能を終了させるとはみなさないと主張します。
JAD

回答:


55

Malbolge、128バイト、KBRON111によりクラック

(=&r:#o=~l4jz7g5vttbrpp^nllZjhhVfddRb`O;:('JYX#VV~jS{Ql>jMKK9IGcFaD_X]\[ZYXWVsN6L4J\[kYEhVBeScba%_M]]~IYG3Eyx5432+rpp-n+l)j'h%B0

楽しんで!

(はい、私はこのためだけにマルボルジを学びました。はい、最終的に仕事に就くのに途方もなく長い時間がかかりました。そして、はい、それは完全に価値がありました。)

ラップされているので、完全に、つまり、「栄光」で見ることができます。

(=&r:#o=~l4jz7g5vttbrpp^nllZjhhV
fddRb`O;:('JYX#VV~jS{Ql>jMKK9IGc
FaD_X]\[ZYXWVsN6L4J\[kYEhVBeScba
%_M]]~IYG3Eyx5432+rpp-n+l)j'h%B0

このインタープリターを使用してテストしました。それが重要かどうかはわかりませんが、念のため指定することを考えました。


2
これは、TIOがbtwを使用するインタープリターです。
デニス

2
ああ、「楽しんで」良い加えている
ЕвгенийНовиков

26
あなたはジャークです。マルボルジは平均です。
Draco18s

1
私はスタンプを押されました...私が得た最も遠い:停止する前の13の入力のうち、最初と3番目だけが影響を与えます。徹底的なリバースエンジニアリングした後、私は、第1の入力がなければならないことを見出した6:第三は、4つの一つであり!#/および-。しかし、この組み合わせは停止を解決しないようです。私はここにそれを出しました、たぶん賢い誰かが解決策を見つけます。誰もが望めば、明日、これらの入力に到達した方法を投稿します。編集:今私はそれについて考えると、これをリバースエンジニアリングする目的で書いた私のプログラムにはバグがあり、最初の入力は以外のものになるかもしれません6。3番目の文字はまだ立っています。
グジェゴルツプワフスキ

7
KBRON111によってクラックされました
-Veedrac

23

JavaScript(ES6)、17バイト、クラック

x=>{for(;x==x;);}

TIOでは、TIOでNode.jsのreadlineを実行する方法がわからないので、関数呼び出しに入力を固定します。これは、それを知っている人には明らかであり、知らない人には明らかではありません。

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

回答:

答えはNaN、JavaScriptであるため、NaN != NaN


2
割れた。奇妙な言語の素敵な使い方!
Programmer5000

3
あなたが賭けます:)私はあなたが私のためにそれを編集したことを選んだものであると確信している方法が好きです:P-
スティーブン

12
NaN == NaNJavaScript以外の多くの言語ではfalseです。私はそれを「言語の奇妙さ」とは呼びません。
ナユキ

9
NaN != NaNは浮動小数点数の特徴であると信じています
地下

1
@undergroundmonorail:その通りです。2つのIEEE浮動小数点数の関係は、上、等しい、下、または順序なしです。一方または両方のオペランドがNaNのいずれかの種類である場合、比較結果は順序付けられません。(IEEE 754バイナリ浮動小数点には多くのNaNビットパターンがあります。指数ビットが1で、ゼロ以外の仮数を持つものはすべて、符号ビットに関係なくNaNです。 NaNの、などの操作を通じてそれを伝播するため+max()、ほとんどの人は気にしない。)Pを
ピーター・コルド

14

JS(ES6)、67バイト(クラック

(x,y)=>{while(x!==y||Object.is(x, y)||!isFinite(x)||!isFinite(y));}

私は混乱しなかったと思う、それは私が見なかった簡単な解決策があるかもしれません。

フィードバックに感謝します。これは私の最初の投稿の1つです

(+0, -0) うん、jsは負の0を持っています



私がいるかどうかを確認する必要がないことを今実現xし、y有限であるが、それはすでに割れてたので、私は編集しないであろう。38バイトだった可能性があります
フアントニーナ

10

Python 3.4、(40バイト)クラック

def f(x):
  while(x==x or not x==x):pass

4
PPCGへようこそ!
マーティンエンダー


12
x==x呼ばれる変数に格納する必要があると思うto_beので、ハムレットの参照を作成できます。
ピーターコーデス

@PeterCordesしかし、それは答えを破ることができなかっただろう
-pppery

@ppperry:ええ、私は亀裂を見た後に気づきました。:P
ピーターコーデス

9

Javascript(node.jsではありません)

x=>{while(x+"h");}

目的の送信では、throwを使用しません。

目的のクラックのヒント:

目的の送信は上書きされず.toString()Set()どちらも使用されません。

望ましい亀裂:

Object.create(null)


正しいクラックリンク(私のものではなく、Dom Hastingの答えへの単なるリンク)
スティーブン

Cracked#2使用せずにクラックthrow(まだエラーが発生します)
Grant Davis

使用せずに再びひびが入りthrowました。今回は、Grant Davisが私のために機能しなかったので、私は本当に信じています。それでもTypeErrorね。
Haumed Rahmani

2
あなたは何ができるx=>{try{for(;x+"h";)}catch(e){for(;;)}}ので、何らかのエラーが無限ループになりますように欠けているプロトタイプ関数のエラー(またはエラー)無限ループになります。
グラントデイビス

1
これはブラウザでのみ動作しますが、なぜ動作するのか
わかり

8

C(gcc)、75バイトのクラック

#include<stdio.h>
int main(){char c[9];while(1){scanf("%8s",c);printf(c);}}

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

私は警官と強盗にこれまでに投稿したことがありません。うまくいけば、これはあまり明白ではありませ

解決:

「%s」の入力により、このセグメンテーション違反が発生します。他にも使用できるものがいくつかあります。それらはすべてprintf「%n」のような指定子です
これは古典的なprintf脆弱性です。簡単に言えば、フォーマット文字列はユーザ​​ー入力から直接printf取得されるため、指定子は安全に渡されません。



8

JavaScript(ブラウザ内)、79バイトのクラック

x=>{try{for(;x||x!=null||x!=void 0||x===null||x===void 0;);}catch(e){for(;;);}}

最新のブラウザー(最新のFirefox ESR、最新のFirefox、最新のChromiumなど)で実行する必要があります。古いブラウザ(Netscape 2、IE 4など)での実行はカウントされません。

注:タイムアウトのためにブラウザーによって停止された場合、ここで停止をカウントしません。

このコードをテストするときにブラウザをクラッシュさせないように常に注意してください。^ _ ^

document.all


setTimeoutを使用できますか?
ЕвгенийНовиков

@ЕвгенийНовиковこのパラメーターは任意のパラメーターで呼び出すことができます。ただしsetTimeout、パラメータとしての使用は機能しないようです。
-tsh

アイデアが行うことですvar key=(()=>{setTimeout(args);return null})()し、その後crackme(key)
ЕвгенийНовиков

不正行為のように思える
ЕвгенийНовиков



6

、5バイト割れ

↑ε∞←ø

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

この言語はまだかなり新しいため、少し説明します。

←ø空のリストの最初の要素を取得します。これは、具体的な型または関数にかかわらず、入力に適用される任意の型を想定できる値を返します。前の結果のコピーで構成される無限リストを作成します(ほとんどの場合、無限ゼロのリストを意味します)。↑ε「小さい」、つまり絶対値が1以下である限り、このリストから要素を取得します。ゼロの無限リストでは、これは停止しません。


@Veedracは実際に私の意図したソリューションでした
レオ



5

Ruby、31バイト(Eric Duminilによりクラック

0until(3.send(gets)==5rescue p)

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

これは、の結果に末尾の改行がない環境で実行する必要があることに注意してください。そうしないgetsと、改行で終わるものがエラーになり、救助がヒットするため、停止させることはできません。



いいね!ループ内のメソッドは3.methods戻り5も終了もしません。
エリックドゥミニル

くそー!私は独立して、同様のソリューションを発見したが、私はあまりにもそれが等しくすることに焦点を当てた5、正しい答えはそれがなかった機能を必要とするだろうと考えるように...
バリューインク


5

Bash 4.2、14バイト(クラック

これをもう一度試してみましょう。

let ${1,,}
yes

これは、Bash 4.3を使用するTIOでは機能しません。入力はコマンドライン引数を介して行われます。

Linuxおよびgccがインストールされている場合、Bash 4.2.53は次のようにダウンロードしてビルドできます。

curl -sSL https://ftp.gnu.org/gnu/bash/bash-4.2.53.tar.gz | tar xz
cd bash-4.2.53
./configure
make -j

割れた。基本的にソースを読んでしまいました。
-Veedrac

4

網膜、78バイト(ひび割れ)(意図したソリューションでひび割れ

^
1
+`^1(1+)
$1¶$&
s`(?<=^|¶)(1+)(?=¶)(?!.*¶\1+$)

¶(?!1+$)

^(1+)¶\1$

+`1
11

書くのがとても楽しかった、クラックするのが楽しいことを願って

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

意図しない解決策と意図した解決策で互いに1分以内にひびが入った。1人が最初に投稿し、1人が最初にコメントしました。

意図したソリューション:

11111またはn-1の単項表現(nは任意の完全数)




だから誰の亀裂が重要ですか?(最初に亀裂を投稿しましたが、mbomb007が最初にコメントしました)
Kritixi Lithos

@Cowsquack両方
Programmer5000

4

Node.js、23バイト(クラック

var crackme =
i=>{while({[i]:NaN}){}}

Grant Davisソリューション

{__proto__:null}

私の解決策

{"toString":process.exit}



@GrantDavis良い仕事)あなたのソリューションはブラウザでも動作します。私はそれをtry-catchで囲むと思ったが、きれいなコードを作るためにこの考えを拒否した。
ЕвгенийНовиков

4

Java 8、99バイト、クラック

s->{try{Integer i=Integer.parseInt(s),c=i+32767;i+=32767;for(;i!=c;);}catch(Throwable t){for(;;);}}

これは、型のラムダですConsumer<String>

ゴルフをしていない:

s -> {
    try {
        Integer i = Integer.parseInt(s), c = i + Short.MAX_VALUE;
        i += Short.MAX_VALUE;
        while (i != c) ;
    } catch (Throwable t) {
        while (true) ;
    }
}

オンラインでお試しください!(テストプログラムは空の入力でクラッシュしますが、ラムダ自体はクラッシュしないことに注意してください!)(テストプログラムはSTDINではなく引数を使用するため、TIOでは「入力」ではなく「引数」を使用します)

意図した回答:

-32767; Javaは続ける2つの整数型を持っている、ので、これは動作しますintIntegerIntegerは、ラップするオブジェクトですint。また、Javaはを介してIntegersのキャッシュを保持します。識別のためのオペレータのチェックは、ので、いくつかの非ボクシング、オートボクシングを介して任意の数であるが同じになってしまうであろうキャッシュからオブジェクト、従って偽であろう。-127127!=xx + 32767[-127, 127]Integeri != c



4

Bash 4.2、10バイト(ひび割れ

let $1
yes

これは、Bash 4.3を使用するTIOでは機能しません。入力はコマンドライン引数を介して行われます。

Linuxおよびgccがインストールされている場合、Bash 4.2.53は次のようにダウンロードしてビルドできます。

curl -sSL https://ftp.gnu.org/gnu/bash/bash-4.2.53.tar.gz | tar xz
cd bash-4.2.53
./configure
make -j

1
割れた。あなたは、これがシェルショックに関連していると考え、パッチを当てたバージョンに私をリンクさせて、私を一周しました:P。ささいな復venとして意図しない亀裂を数える;)。
-Veedrac

へえ、私が何をしようとしていたかではありません。試してみたい場合は、強化版を投稿しました。
デニス

3

Java:1760(ひび割れ

これをゴルフするのはあまりにも意地悪だと思うので、変数名を難読化し、「乱雑」にしました。実際のところ、それはとても意味があり、時間をかけてヒントを投稿するつもりです。

ヒント1:これには理論的には有効な入力が無限にありますが、最も「正しい」入力があります


public class Main {

	public static void main(String[] a) {
		try {
			while (a.length < 2) {
				int i = 0;
			}
			boolean invalid = 1 < 0;
			char l = '_';
			char h = '-';
			char[] DATATWO = a[0].toCharArray();
			char[] DATATOW = a[1].toCharArray();
			int length = DATATOW.length;
			if (DATATWO.length != length) {
				invalid = 1 > 0;
			}
			int transmissionStartIndex = 0;
			for (int i = 0; i < length; i++) {
				if (DATATWO[i] == l && DATATOW[i] == l) {
					transmissionStartIndex = i;
					break;
				}
			}
			int DATAONE = 0, reg = 0;
			boolean read = 1 < 0, full = 0 < 1;
			int bytes_read = 0;
			for (int i = transmissionStartIndex; i < length; i++) {
				if (DATATOW[i] == l && DATATOW[i + 1] == h) {
					bytes_read++;

					if (bytes_read == 8) {
						read = DATATWO[i] == h;
					} else if (bytes_read == 9) {
						invalid = (DATATWO[i] == h || invalid);
						System.out.println(invalid);
					} else if (bytes_read == 18) {
						System.out.println(invalid);
						invalid = (DATATWO[i] == h || invalid);
						if (invalid) {
							System.out.println("i36 " + DATATWO[i] + " " + h);
						}
						full = 1 > 0;
					} else if (bytes_read < 8) {
						DATAONE += (DATATWO[i] == h ? 1 : 0) << (7 - bytes_read);
					} else if (bytes_read < 18) {
						reg += (DATATWO[i] == h ? 1 : 0) << (8 - (bytes_read - 9));
					} else if (bytes_read > 18) {
						invalid = 1 > 0;
					}
					System.out.println(a[0]);
					System.out.println(new String(new char[i]).replace("\0", " ") + "|");
					System.out.println(a[1]);
				}
			}

			while (!(Integer.toHexString(DATAONE).equals("0x2b") && (read)
					&& Integer.toHexString(reg).equals("0xa6"))) {

				System.out.println(System.currentTimeMillis());
				try {
					Thread.sleep(1);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}

		} catch (Exception e) {
			while (true) {
			}
		}

	}
}

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


2つの空の引数が機能しているようです
-Okx

また、tioリンクを追加しても構いませんか?あなたがする必要があるのは、メインをメインに変更することだけだと思う
-Okx

1
ひび割れ、バグは別として。
user3033745

クラック -バージョン固有のバグはありません。
Okx

3

Braingolf、18バイトのひび割れ

1+[#£-0!e>:$_1>|]

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

Liiiitleは最後のものより少し難しい、私はこの後本物を書き始めます

答えは163です


男、これはおそらく唯一の現存する服従のatmです。注:i機能しません。
エリックアウトゴルファー

警告:これは実際には19バイト(£)です。そして、なぜ機能しないの-1ですか?これには注意が必要です。
エリックアウトゴルファー

@EriktheOutgolfer 17文字、18バイトです。
完全に人間

@totallyhuman私は... "19 UTF-8バイト、18個の文字を"(userscriptが有効になっている)読んでいた誓う
エリックOutgolfer


3

JavaScript(ES7)、41バイト(Hacked&Cracked

編集:入力がまったく与えられない場合にクラッシュしないように修正しました(気付いてくれてありがとう@totallyhuman)


おそらくいくつかの解決策が存在しますが、予想される解決策は比較的単純です。

(x=0)=>{for(;~x/x.length**3!=-2962963;);}

意図したソリューション:

"8e7"(文字列として渡される科学表記法の数字)
理由:〜 "8e7" / "8e7" .length ** 3 = -80000001 / 3 ** 3 = -80000001/27 = -2962963


2
これでも入力は機能しませんが、そのようにクラッキングするのは面倒ではありません...そうでない場合、それは意図した解決策です。:P-
完全に人間

@totallyhumanまあ、それは意図した解決策ではありません。:-)
アーナウド


2
更新:3バイト長ソリューション意図してしまった
ЕвгенийНовиков

3

Bash + Utils(デニスによるクラック)、74バイト

使用できる唯一のユーティリティであるtarをお楽しみください。

cp /bin/tar .
env -i PATH=$PWD I=$? /bin/bash -r -c "$1"
while :;do :;done

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

意図した亀裂

tar -cf --checkpoint=1 --checkpoint-action=exec="/bin/kill $I" .



@Dennisナイス!私は意図したクラックを投稿しましたが、これはもう少し複雑でした。
シーシュポス

3

Mathematica、36 26バイト(クラック

#0[#;$IterationLimit=∞]&

非常に短いループ#0[#;∞]だけで、それはあなたのカーネルがクラッシュするまで何度も自分自身を実行し続けるだろう...(ザ・は$IterationLimitちょうどあなたが最も入力のために永遠にはまり込むようにすることです)。

Wolfram Sandboxで試してみてください!-無限ループに陥っている場合は、タイムアウトするまで待つか、ノートブックのタイトルの左側にある正方形の「評価を中止」アイコンを押します(unnamed)

:この機能は$IterationLimit設定を変更します。




3

C#、118バイト(クラック

using System;_=>{while(1>0){try{if(Nullable.GetUnderlyingType(Type.GetType(Console.ReadLine()))!=null)break;}catch{}}}

これが長すぎるとは思わないが、見た目よりも厄介だ。

基本的に、すべてのNullableクラスのフルネームは機能しますが、以下のように見えるため、見つけるのは困難
System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
ですtypeof(int?).FullName。この文字列を見つけるより簡単な方法は、行うことです。




3

JavaScript(ES7)、73バイト(クラック!)

q=>{r=(n,i=0)=>i>1e3?n:r(n*16807%(2**31-1),i+1);while(r(q)!=627804986){}}

望んでいないソリューション:ブルートフォース。望ましい亀裂には数学が含まれます。

モジュロのため、多くのソリューション(4194304)があることに注意してください。



3

Brainfuck、170バイトがクラックされました!

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

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


サイトへようこそ!コードから改行を削除すると、11バイト節約できます。
小麦ウィザード

私はそれがコードゴルフだったことを忘れました、ありがとう!
ジェリー


有効なソリューション!私はそれらのかなりの数があると推定します。誰でも解く/強引に、意図したものは[az]です。
ジェリー

4文字ごとに、プログラムを停止させる最後の文字の値が1つだけあります。したがって、あなたがnulブレインファックに入ることができると仮定すると、256 ^ 4 = 4294967296のソリューションがあります。ところで、2つの最初の>2バイトの保存を削除できます。
user202729

3

JavaScript ES6(Node.js> = 6.0)、326バイト(安全)

((v,e=require('events').EventEmitter.prototype,l=_=>{while(1);},P=Proxy,p=process)=>(p.kill=p.exit,e.listeners=new P(e.listeners,{apply:(t,c,a)=>a[0]=='exit'?[]:t.apply(c,a)}),e.removeAllListeners=new P(e.removeAllListeners,{apply:(t,c,a)=>a[0]=='exit'?c:t.apply(c,a)}),p.on('exit',l),i=>{try{v(i)}catch(o){}l()}))(s=>eval(s))

私の他の課題よりもはるかに単純化されたため、ソリューションのアプローチを難​​読化しようとはしなくなり、多くのバイトを節約できました。今回process.kill()は動作しません。

"delete process._events.exit;process.exit()"

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


わあ!良くやった!
Programmer5000

あなたが勝者のように見えますが、私ははるかに短いコードを期待していましたhehe
Piyin

3

Swift 3、14バイト(ひび割れ

while !false{}

これを解決するには、このステートメントの前または後にコードを配置します。

  • あなたのソリューションは:
    • コードを変更せずに、このステートメントをそのまま保持します
    • 実際にこのステートメントを実行させます
      • fatalError()カウントしない前にコメントアウトする、呼び出すなど。
    • このステートメントの動作を変更して、永久にループしないようにします
  • ソリューションには、プログラムのクラッシュは含まれません。

私はSwiftを知りませんが、このコードの前にタイマーを追加して数秒後に終了すると基準を満たすと思います。

@Yiminあわや、巧妙な、しかしそれは、私は本当に私が言ったときに探していたもので、この文の意味を変更しない「この文の動作を変更する」
アレクサンダー

ソリューションが機能することを確認しますか?通訳はambiguous semantics私に叫んでいます。
ダニエル

@Dopappは、以前の試みで起こると思っていたものです。何らかの理由で、既に存在するものと同じ型シグネチャを持つ新しい中置演算子を再定義することは正当ですが、単項演算子で同じことをしようとすると、コンパイル時にあいまいなエラーがスローされます。これは意図的なものであり、実用的なソリューションがあると確信しています
アレクサンダー


2

cQuents、2バイト(ひび割れ1)(ひび割れ2

:A

これはTIOの128 KiB出力制限にすぐに到達して停止することに注意してください。ただし、ローカルで実行すると、それを中断する入力を除き、永久にループします。その入力を見つけるのはかなり簡単です。あなたがするまで、あなたに:Aその三角形の舌を突き出し続けます。

また、これは正しいはずですAが、昨夜暗黙的なモードを壊したことにも注意してください。古いインタープリターバージョンでAは正常に動作します。

クラック:

入力時の空の入力/改行は有効なクラックです。ただし、複数の(スペースで区切られた)入力をプログラムに渡すことで、それを終了する(2を指定する場合)か、エラーアウトする(3つ以上を指定する場合)ことはできません。

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


割れた?(入力が空の場合のエラー)
ルイスメンドー


@crackersうん、それは有効なクラックです。ただし、空でない入力クラックを見つけた人には賛成票を差し上げます。
スティーブン

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