コードラダー、警官


36

注:このチャレンジは終了しました。提出はまだ歓迎されていますが、勝つことはできません。

これは警官のスレッドです。強盗のスレッドはここに行きます。

整数を出力するコードを記述します1。(選択した)単一の文字を追加、削除、または置換する場合、コードは整数を出力する必要があります2。さらに同じ文字(同じ文字または別の文字)を変更すると、コードが出力されます3。できる限りこのように続けますが、最大10までです。デフォルトの出力形式ans = 1は受け入れられます。STDERR(または同等のもの)への出力は無視できます。

言語、初期コードのバイト数、動作する整数の数、および初期コードのオプションの文字数を明らかにする必要があります。注:キャラクターを公開する必要はありませんが、キャラクターを公開すると、同じ位置で同じキャラクターを使用する必要があるため、強盗にとって難しくなる可能性があることに注意してください。表示されない文字(たとえば、アンダースコア)を示すために使用する文字を選択できますが、これを必ず指定してください。

警官は、1週間後にクラックのないコードを提供し、提出を「SAFE」と呼ぶことができます。勝った提出物は、番号10を生成する最短の無亀裂の提出物になります。亀裂のない提出物が10を印刷できない場合、9を生成する最短のコードが勝ちます。強盗はあなたと同じ変更を行う必要がなく、正確なコードを再現する必要がないことに注意してください(すべてのキャラクターを公開しない限り)。出力のみを再現する必要があります。

11月24日以降に投稿された投稿は歓迎されますが、勝ちの資格はありません(強盗の数が減る可能性が高いため)。


サンプル投稿:

次の投稿は言語MyLangでの投稿で、長さは9バイトで、数字1〜8で機能します。

MyLang、9バイト、8桁の数字

この投稿は1〜8で機能します。公開されていない文字はアンダースコア:で示されます_。

abc____i

リーダーボード

免責事項:リーダーボードはテストされていないため、クラックされていない提出物がリストに表示されない場合があります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>table th,table td{padding: 5px;}th{text-align: left;}.score{text-align: right;}table a{display: block;}.main{float: left;margin-right: 30px;}.main h3,.main div{margin: 5px;}.message{font-style: italic;}#api_error{color: red;font-weight: bold;margin: 5px;}</style> <script>QUESTION_ID=99546;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var byscore=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){jQuery(l[1]).empty();l[0].sort(o);for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]);if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function m(s){if('error_message' in s) jQuery('#api_error').text('API Error: '+s.error_message);}function g(p){jQuery.getJSON('//api.stackexchange.com/2.2/questions/' + QUESTION_ID + '/answers?page=' + p + '&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e', function(s){m(s);s.items.map(function(a){var he = jQuery('<div/>').html(a.body).children().first();he.find('strike').text('');var h = he.text();if (!/cracked/i.test(h) && (typeof a.comments == 'undefined' || a.comments.filter(function(b){var c = jQuery('<div/>').html(b.body);return /^cracked/i.test(c.text()) || c.find('a').filter(function(){return /cracked/i.test(jQuery(this).text())}).length > 0}).length == 0)){var m = /^\s*((?:[^,;(\s]|\s+[^-,;(\s])+).*(0.\d+)/.exec(h);var e = [[n++, m ? m[2]-0 : null], jQuery('<tr/>').append( jQuery('<td/>').append( jQuery('<a/>').text(m ? m[1] : h).attr('href', a.link)), jQuery('<td class="score"/>').text(m ? m[2] : '?'), jQuery('<td/>').append( jQuery('<a/>').text(a.owner.display_name).attr('href', a.owner.link)) )];if(/safe/i.test(h)) safe_list.push(e);else uncracked_list.push(e);}});if (s.items.length == 100) g(p + 1);else{var s=[[uncracked_list, '#uncracked'], [safe_list, '#safe']];for(var i=0;i<2;i++) u(s[i],byscore);jQuery('#uncracked_by_score').bind('click',function(){u(s[0],byscore);return false});jQuery('#uncracked_by_creation').bind('click',function(){u(s[0],bycreation);return false});}}).error(function(e){m(e.responseJSON);});}g(1);</script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/Sites/codegolf/all.css?v=7509797c03ea"><div id="api_error"></div><div class="main"><h3>Uncracked submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="uncracked"></tbody></table><div>Sort by: <a href="#" id="uncracked_by_score">score</a> <a href="#" id="uncracked_by_creation">creation</a></div></div><div class="main"><h3>Safe submissions</h3><table> <tr> <th>Language</th> <th class="score">Score</th> <th>User</th> </tr> <tbody id="safe"></tbody></table></div>


わからない...を生成するCJamの任意のコードを考えると1、強盗が繰り返し追加)して残りの数字を生成するのを防ぐにはどうすればよいですか?同じことは、かなりの数の言語で有効です
— ルイスメンドー

2
出力するプログラムで1それが可能な場合、CJamはこの課題の言語の悪い選択であると思われます。強盗がそれを行うのを防ぐ方法はありません。
— スチューウィーグリフィン

3
@LuisMendoまあ、それは確かにこれをもっと面白くするでしょう
— ...-LegionMammal978

1
@DanielJour任意の数まで変更可能ですが、強盗が見つける必要がある最大数は10です。多くの提出物はおそらく(理論上)無限に拡張される可能性があるため、そのルールが整っているため、最高達成数に基づくスコアリングは意味をなさないでしょう。
— スチューウィーグリフィン

1
ヘッダーcrackedに何らかの形式が含まれている場合にのみ、エントリを失格とすることができます。これが、再設計ユーザースクリプトが現在行っていることです。
— ETHproductions

回答:


1

六角形、18バイト、10桁、SAFE

この送信は1〜10で機能します。公開されていない文字は下線で示されます_。

.__{_]5[$@.;=@$!!1

こちらからオンラインでHexagonyを試すことができます。

私の解決策:

1:   .<[{8]5[$@.;=@$!!10
2:   .<[{8]5[$@);=@$!!10
3:   2<[{8]5[$@);=@$!!10
4:   3<[{8]5[$@);=@$!!10
5:   4<[{8]5[$@);=@$!!10
6:   5<[{8]5[$@);=@$!!10
6:   7<[{8]5[$@);=@$!!10
8:   7<[{8]5[$@);=@$!!10
9:   8<[{8]5[$@);=@$!!10
10:  9<[{8]5[$@);=@$!!10

出力1の16進数:

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

Full Hex:
  . < [ 
 { 8 ] 5
[ $ @ . ;
 = @ $ ! 
  ! 1 0

Important parts:
  . < .
 . 8 . 5
. $ @ . ;
 . . $ .
  . 1 .
  1. で、<メモリのエッジがある0ので、アップになります。
  2. ヒット数 1
  3. にジャンプ 5
  4. 飛び越え8、しかしで反転さ<となる8途中で背中を。
  5. 5再びヒット
  6. 飛び越える 1
  7. <この時点でヒットすると、メモリ値は1585になります。これはmod 256であり、ASCII1
  8. 最後に印刷して終了し;@ます。

出力2の16進数:

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

Important parts:
  . < .
 . 8 . 5
. $ @ ) ;
 . . $ .
  . 1 .

これは同じパスをたどりますが、戻る途中で)メモリエッジを1586に増やし2ます。


出力3-9の16進数:

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

Important parts:
  2 < [
 . . ] .
. $ . ) .
 . @ . !
  . 1 .
  1. ヒット 2
  2. これで、メモリエッジはに到達するとプラスになるため<、低下します。
  3. ]命令ポインタを変更しますが、すぐに戻ってきますさ[
  4. ) 増分する 3
  5. ! プリント 3
  6. $最初の2つの数字から残っているので、最後(@)を飛び越えます
  7. 1 メモリエッジを変更しますが、それは今では重要ではありません。
  8. < ポインターを反映します。
  9. ここでも、プログラムを終了する1ためにヒット@するため、問題ではありません。

11

網膜、2バイト、10個の数字、ひび割れ

_1

1から10で動作するの_は隠しキャラクターです。これはそれほど難しくないはずですが、やや面白いパズルになると思います。:)

こちらからオンラインでRetinaを試すことができます。


2
ああ、10:pが分からない
— LegionMammal978

@ LegionMammal978 :)
— マーティン・エンダー

2
FryAmTheEggmanによるクラック:codegolf.stackexchange.com/a/99560/32700
— TheNumberOne

10

オクターブ、55バイト、10桁、クラック

(o__(O_o_(@(__o)o__-O}_)_(0<O,{_(_o_O-1)+1_@(_1}_)(__o_

_ 不明なキャラクターです。

溶液

(o=@(O,o)(@(O,o)o{2-O}())(0<O,{@()o(O-1)+1,@()1}))(0,o)最後0に1,2,3etcを 最後に変更する

とx、これは再帰的に計算されx+1ます。主に2つの匿名関数で構成されています。1つは、if再帰を固定するステートメントを提供します。

if_ = @( boolean, outcomes) outcomes{ 2 - boolean}();

これは、ブール値が0orに評価されるという事実を悪用しているだけ1です。この関数は、ブール値と2つの関数のセル配列を受け入れ、ブール値に応じてこれら2つの関数のいずれかを評価します。2番目の部分は実際の再帰です。最初の部分です 。後で関数instelfへのハンドルを2番目の引数として提供するため、最終的な関数は次のように なります。

plus_one = @(n,f) if_(0<n ,{@()f(n-1)+1, @()1})

です。匿名関数は匿名であるため、その関数から直接アクセスすることはできません。そのため、2番目の引数が必要ですf

plus_one_final = @(n)plus_one(n,plus_one);



(plus_one=@(n,f)(@(boolean,outcomes)outcomes{2-boolean}())(0<n,{@()f(n-1)+1,@()1}))(n,f)

少し前に、MATLABの無名関数の再帰アンカーについて、stackoverflowについて質問しました。


19
o_O O____o O_O o_O
— TuxCrafting

これが本当にクラックするのがそんなに難しいかどうかは
— わかり

まあ、それは地獄が割れにくいので確かです!ペンと紙でできるかもしれません(!)
— Stewie Griffin

私はそれをcompめ言葉として受け止めます:)あなたは私の解決策を好きになると思いますが、ひびが入る/安全になるまで何も明らかにしません。
— flawr



8

Perl、12バイト、10個の数字、ひび割れ!

アンダースコアは不明な文字を表します。

____;say__-9

おそらくかなり簡単で、複数の解決策があったとしても驚かないでしょう。それでも、クラックするのは楽しいかもしれません。

(意図したソリューションはクラックと同じでした。これは基本的に、4文字の変数に10を割り当てることに関する問題であり、Perlでは驚くほど困難です。多くのゴルフ言語とは異なり、 10.)


1
割れた。最初はのようなものだと思っていましたが$_=1;say;#-9、10を取得する方法がわかりませんでした
— ライリー

7

Perl、46バイト、10桁、安全

問題

__b_b_\__}_b_b_b_0_;
$b[0]=10;$b{0}=1;say$b[0]

短い問題はすぐにひびが入る傾向があるので、長い問題を試してみようと思いました。長いものはまた、人々がいたずら好きsayまたは何かをこっそりとするのに十分な隙間を残すと割れる傾向があるexitので、ここの隙間はすべて短いです。非表示の文字はを使用して表され_ます。

私の解決策

sub b{\@_}*b=b$b{0};
$b[0]=10;$b{0}=1;say$b[0]

9まで、2、3、等を印刷するために割り当てられた番号変更保つ$b{0} 第二線(すなわち中$b{0}=2、$b{0}=3など)。9のプログラムは次のようになります。

sub b{\@_}*b=b$b{0};
$b[0]=10;$b{0}=9;say$b[0]

次に、10を生成するには、最初の行の先頭に#文字を追加してコメント化します。

説明

最初に注意することは、解決策は空白を削除する以外に実際にはゴルフではないということです。より読みやすい空白でレイアウトすると、これが得られます:

sub b { \@_ }
*b = b $b{0};
$b[0] = 10;
$b{0} = 1;
say $b[0];

通常、Perlでサブルーチンの引数にアクセスするときは、それらをからコピーしてアクセスします@_。これには正当な理由があり@_ます:サブルーチンに与えられる引数のエイリアス(たとえば、(sub { $_[0] = 3 })->($x)に割り当てます$x)、通常は望ましくないものです。

が@_魔法のように見えるかもしれませんが、それは実際には(XSから容易に入手可能であるだけのような、純粋なPerlで、いくつかの奇妙なケースで起動しますPerlの内部の標準機能で使用してい@_配列は、直接その要素が格納されていない:自分自身を) 、しかしむしろ参照による。したがって、b以下の2行目を呼び出すと、Perlは配列を生成し(呼び出します@_)、その最初の要素は$b{0}使用する同じストレージへの参照です。(ハッシュ値も参照によって保存されます。この時点で$ _ [0]と$ b {0}は両方とも同じストレージを参照しています。)@_内部の観点からは特別なことを行っていないため、参照を取得できます他の配列でできるように、それが定義されているサブルーチンよりも長持ちします。

Perl変数は、参照によってデータストレージも参照します。昔、人々は次のように使用するコードに使用*x = *y;セットへ$xの別名として$yも同様に、(彼らは同じものを参照することによって)@xへの別名として@y、%xエイリアスとして%y、というように。それは、似た名前の変数が同じように振る舞う必要がないという不変式を破るので、現代のPerlが代替手段を提供します。参照をtypeglobに割り当てると、参照の型に一致する変数のみがオーバーライドされます(*x = \%yエイリアス%xは同じストレージを指します%yが、たとえばそのままにします$x)。この構文は、エイリアスを作成するストレージに名前があるかどうかを特に気にしないため、戻り値を割り当てるときにb(これは、以前は@_アライブと呼ばれていた配列を保持している配列参照です)to*b、@b引数リストを呼び出しのエイリアスに変更しますb(%b変更せずに残します)。この手段は、特に、こと$b[0]と$b{0}今は同じストレージを指し、そして一つに割り当てること、したがって他の変更されます。それ以降はすべて完全に簡単です。

Perlのドキュメントでは、この種の詳細についてはあまり説明されていないため、だれかがクラックを受けたとしても驚くことはありません。@_他の配列とはまったく異なるという性質は、実際に強調されているものではありません。ほとんどのコーディングスタイルは、これを増幅するのではなく、影響を最小限に抑えることを目指しています。


1
これにはとても興味があります。擬似ハッシュについて学び、参照と参照解除の記憶を更新しましたが、理解できないようです!
— ドムヘイスティングス

1
@DomHastings、...そしてqand sand yand m(ほとんどの場合、$b[0]割り当て後にそれらを終了させようとしています)のさまざまな境界文字でだまされていますが、何も機能していません(まだ)。
— msh210

あなたは両方とも間違った軌道に乗っていましたが、確かに、言​​語や私の提出によって正しい軌道が何であるかについてはあまり助けがありませんプログラムにバックスラッシュが含まれる理由は、必ずしも参照に関連するとは限りません)。

イライラして近づいたような気がします。私はsub b{\@_}心の中で固まりました、そして、*b私はそれを実験することができませんでした!説明してくれてありがとう。私はあなたの説明でそれを説明したかもしれませsub b{\@_}*b=b$b[0]んが、なぜ同じことをしないのですか?
— ドムヘイスティングス

配列要素とハッシュ要素でメモリを共有しようとしているので、両方に言及する必要があります。に配列参照(\@_)を割り当てると、配列要素は暗黙的に言及されます*bが、ハッシュ要素は明示的に自分で言及する必要があります。を使用すると*b=b$b[0]、基本的には、新しい$b[0](where @bポイントを変更した後)を$b[0]、プログラムの開始時に存在したものにエイリアスしているだけです。

5

JavaScript、30バイト、10個の数字、クラック

alert(Array(_)________.length)

それほど難しくはないはずですが、うまくいけば、チャレンジを提供するのに十分なだけです。:)公開されていない文字にはが付いてい_ます。


良いですね!これを解決するのにうねりがありました。それは簡単でしたが、同時に挑戦的でした。
— Kritixiリトス

5

Perl、14バイト、10個の数字、クラック

say_!"___"%""_

1〜10で機能します。 _は隠しキャラクターです。

これをクラックするのは難しくないはずです。私はもっ​​と難しいものを持っています。22バイトです。これが割れたら投稿します。


元のコード:

say"!"=~y"%""c

そして、"!"を印刷したい数字の長さの文字列で置き換えます!、例えば!!、!!!、など

ただし、ais523は別の方法を見つけました。

say"!"+1#"%""r

2
割れた。私はこれがあなたがまったく望んでいたものではないと思う。(正規表現を使用して何かを実行しようとしていましたが、これははるかに簡単でした。)



4

ゼリー、7 バイト、10桁、割れ

“1‘ỌȮḊ‘

ワイルドカードはありません。

(引数でevalを使用するために)達成されたクラックは、多くがこのスレッド内にあるようで、意図したものではありませんでした。

意図したクラックは次のとおりです。

“1‘ỌȮḊ‘ - (prints 1)
“1‘     - code page index list of characters "1": [49]
   Ọ    - cast to ordinals: ['1']
    Ȯ   - print (with no line feed) and return input: effectively prints "1"
        -     (but if left at this would then implicitly print another "1")
     Ḋ  - dequeue: []
      ‘ - increment (vectorises): []
        - implicit print: prints ""

“1‘ỌŒḊ‘ - (prints 2)
“1‘Ọ    - as above: ['1']
    ŒḊ  - depth: 1
      ‘ - increment: 2
        - implicit print: prints "2"

“1‘ỌŒḊ‘‘ - (prints 3)
“1‘ỌŒḊ‘  - as above: 2
       ‘ - increment: 3
         - implicit print: prints "3"

... keep adding an increment operator to print 4 - 10.

I would be able to crack it if the '‘' was on the next line. So close... :)
— Kritixi Lithos

Cracked but could you explain what happens for 10, because I got lucky on this one while trying things that might work.
— Hedi

@Hedi Ninja'd me too quickly, I was working on it.
— Erik the Outgolfer

@Hedi - yours was an unintended crack. The way 10 is working for you is, I believe, by evaluating the jelly code in the string 9 with an argument of 0 (the default value of the input), which you then dequeue (no effect) and then increment.
— Jonathan Allan

...actually I think the way 10 is working for you is by evaluating the jelly code in the string 9 with an argument of [] - the default value of the input, 0, dequeued - which you then increment., Like “1‘‘‘‘‘‘‘‘‘Ọv0Ḋ¤‘
— Jonathan Allan

4

Befunge-93, 11 bytes, 10+ numbers, Cracked

This submission works for at least 1 - 10. Unrevealed characters are indicated with □.

□□5:**-□-.@

Try it online

I must say I was impressed that two people could come up with independent solutions for this, neither of which were what I was expecting. While Martin got there first, I'm giving the "win" to Sp3000 as their solution is more portable.

This was my intended solution though:

g45:**-2-.@
g45:**-1-.@
g45:**-1\.@
g45:**-1\+.@
g45:**-2\+.@
...
g45:**-7\+.@

Because a stack underflow in Befunge is interpreted as 0, the g just reads from 0,0 returning the ASCII value of 'g', namely 103. 45:**- subtracts 100, giving you 3. Then 2- gives you 1.

For the third iteration, the - (subtract) is changed to a \ (swap) instruction, so the 3 becomes the topmost stack entry. And in iteration four, a + (add) instruction is inserted, thus adding the 3 to the 1 giving 4.


Cracked. I'm curious to see what solution you had in mind. :)
— Martin Ender

@MartinEnder As I commented on your answer, I'd like to leave my intended solution hidden for a while in case someone else wants to attempt a more portable solution. Is that OK?
— James Holderness

Of course, that's fine. :)
— Martin Ender

"15:**-6-.@ gives 1, but I'm not sure whether the fact that " pushes 32 on top (due to implicit spaces) is an artefact of the TIO interpreter or part of Befunge's spec, because trying a few interpreters it seems not all interpreters do that. Does your intended solution depend on this behaviour?
— Sp3000

@Sp3000 That wasn't my intended solution, but that's perfectly valid Befunge - the interpreters that don't support that are incorrect. If you post an answer with the rest of the sequence I'd definitely consider that a complete crack.
— James Holderness

4

R, 21 bytes, 10 numbers Cracked

__i___________i______

Works for 10 numbers. _ is hidden character.

Original solution:

which(letters%in%"a")
which(letters%in%"b")
etc.


@StewieGriffin This is my first post on this site and I don't know the norms. I have one more R challenge - a bit trickier, I think. Can I add another answer? Or append it to this one?
— Gregor

Adding a new one it's perfectly fine (as a separate one) 😊 welcome to the site 😊
— Stewie Griffin

Did I cracked it here ?
— Tensibai

@Tensibai Cracked :)
— Gregor


3

Octave, 32 bytes, 10 numbers. Cracked

_n_(isprime(floor(s____i__ i____

_ is a hidden character.

You can try Octave online here.


Original solution:

1: nnz(isprime(floor(sqrt(i):pi')))

2: nnz(isprime(floor('sqrt(i):pi')))

3: nnz(isprime(floor('sqrt(i):pia')))

4: nnz(isprime(floor('sqrt(i):piaa')))

...


Very nice! Cracked. Not sure if I reproduced your code though?
— Stewie Griffin

@StewieGriffin Well done! I should have revealed more characters... :-D
— Luis Mendo

1
Damn that was clever :) Too bad you couldn't say it was MATLAB... One more character would probably have made it much harder... I enjoyed it though... I used a full 25 minutes :)
— Stewie Griffin

@Stewie Yes, you made good use of non-Matlab features! :-)
— Luis Mendo

3

Octave, 17 bytes, 10 numbers, Cracked

_i_(__i__(2_5_))

Unrevealed characters are marked with _.

Intended solution:


    fix(asind(2/59))
    fix(asind(3/59))
    fix(asind(4/59))
    fix(asind(5/59))
    fix(asind(6/59))
    fix(asind(7/59))
    fix(asind(8/59))
    fix(asind(9/59))
    fix(asind(9/55))
    fix(asind(9/50))


cracked (finally=) but probably not with your original approach, right?
— flawr

Nice, added my approach in a spoiler tag :)
— Stewie Griffin

2
Oh your solution is really clever!!!
— flawr

3

Octave, 19 bytes, 10 numbers, cracked

__sca__1_)___'-_6_'

_ is the hidden character.

Intended solution:

pascal(10)('a'-96)'



I couldn't remember any function with sca. Coming from you, I should have thought of matrix functions :-)
— Luis Mendo

There is a reason why I made a complete list of Octave function names =)
— flawr



3

JavaScript, 22 bytes, 10 numbers, cracked

alert(0_6_4_>_0_2_0_7)

_ is the hidden character.

Hint about the intended solution

The character that needs to be changed to generate all numbers is always the same.



@ais523 Well done!
— Arnauld

3

JavaScript 21 Bytes, 10 Numbers Cracked

alert(b_oa_"3____1"))

Unrevealed characters are marked with _

Cracked

My Version:

alert(btoa|"3"&("1"))
alert(btoa|"3"^("1"))
alert(btoa|"3"^("0"))
alert(btoa|"3"^("7"))
alert(btoa|"2"^("7"))
alert(btoa|"1"^("7"))
alert(btoa|"0"^("7"))
alert(btoa|"0"^("8"))
alert(btoa|"0"^("8"))
alert(btoa|"2"^("8"))



3

Python 3, 16 bytes, 10 numbers, cracked

print(?%??f?r?t)

Unrevealed characters are marked with ?. This is probably a bit easy since there's only five question marks, but I'm hoping it'll be a fun one.



3

C#, 90 bytes, 10 numbers, cracked

using ______________________________________________;class C{static void Main(){_______;}}

I honestly have no idea how hard this is to crack.

Edit: Oops, transcription error. One _ too few after using.

Now cracked by Hedi, who found the intended (barring the class name) solution.


d'oh... one too short for write()
— masterX244

Didnt help... wrong gap. And that semicolon after first gap thwarted amother idea
— masterX244


3

JavaScript 33 Bytes, 10 Numbers Cracked x2

Oops I post posted my line for generating 10 Which Hedi cracked as though it was for 1

alert(_to__"_Xc0__0_B6____Zp=="))

Version intended to post for generating 1

alert(_to__"_Xc0__0_Bf____Zp=="))

Unrevealed characters are marked with _

alert(btoa|"0Xc0"-0xBf|!("Zp=="))
alert(btoa|"0Xc0"-0xBe|!("Zp=="))
alert(btoa|"0Xc0"-0xBd|!("Zp=="))
alert(btoa|"0Xc0"-0xBc|!("Zp=="))
alert(btoa|"0Xc0"-0xBb|!("Zp=="))
alert(btoa|"0Xc0"-0xBa|!("Zp=="))
alert(btoa|"0Xc0"-0xB9|!("Zp=="))
alert(btoa|"0Xc0"-0xB8|!("Zp=="))
alert(btoa|"0Xc0"-0xB7|!("Zp=="))
alert(btoa|"0Xc0"-0xB6|!("Zp=="))

1

I added a crack for the intended version. I'll try to find a way to get to your solution for 10: console.log(atob|"0Xc0"-0xB6|("Zp==")) I think
— Hedi

I updated my answer with what should be the intended crack.
— Hedi

3

Python, 10+ numbers, 61 bytes, Cracked!

Here was the code I posted:

try:x
except:print(__import__('sys').??c??n??()[????b????e???

The original code was:

try:x
except:print(__import__('sys').exc_info()[2].tb_lineno)

Basically, it throws an error ('x' is not defined) and then prints the line the error was found on. So, just keep adding newlines at the beginning to increment the number.

I knew it wouldn't be hard to crack - I just wanted a funny way to print numbers - but I wasn't expecting Sp3000 to get it so fast, that's some pro skills!


Cracked - amusing, but yeah there aren't really many options :P
— Sp3000

@Sp3000 yeah, I wanted to make sure nobody could squeeze in deleting what's on STDOUT and printing a number, but I guess I narrowed it down too much. Ah well.
— FlipTack

Revealing sys definitely made it a lot simpler, since it gave a nice starting point for searching :P
— Sp3000

2

05AB1E, 11 bytes, Cracked!

3628801__0_

Works from 1-10. _ is a hidden character.

Intended Solution:

3628801R¬0+ # 1
3628801R¬1+ # 2
3628801R¬2+ # 3
3628801R¬3+ # 4
3628801R¬4+ # 5
3628801R¬5+ # 6
3628801R¬6+ # 7
3628801R¬7+ # 8
3628801R¬8+ # 9
3628801R¬9+ # 10




2

Octave, 25 bytes, 9 numbers. Cracked

__a__repmat(__one___,__)_

_ is a hidden character.


@StewieGriffin Sorry!! Only 9. My mistake. I'm really sorry. Edited
— Luis Mendo


1
Sorry =P I'm gonna post a replacement=)
— flawr

@Stewie It's been my fault, sorry! I'll post a modified version later, since my original solution is different
— Luis Mendo

For the record, my crack was identical to flawr's. I've posted another Octave one here.
— Stewie Griffin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.