盗難シーケンス:警官


10

これはです。これは警官スレッドです。強盗スレッドについては、こちらをご覧ください

私がサイトに参加して以来、OEIS(整数シーケンスのオンライン百科事典)の課題に気づきました。誰がオンライン整数シーケンスのマスターであるかを決定する警官と強盗の挑戦があることは、公正に思われます。

編集:ささいな答えを防ぐために、警官はクラックされる提出ごとに1/2ポイントを失います。さらに、この課題のために、一定のシーケンスは許可されていません。これは、この編集後に投稿されたソリューションにのみ適用されます。

警官

入力がない場合、OEISからのシーケンスを確定的に出力するプログラムまたは関数を記述します。文字の一部のサブセットを削除することにより、プログラムを同じ言語で実行したときに、異なるOEISシーケンスを印刷できるようにする必要があります。新しいシーケンスは、異なる名前または異なるオフセットを持つ最初のシーケンスだけでなく、完全に新しいものである必要があります。どちらのシーケンスも、繰り返される定数値ではありません。

正しいことを確認できるように、最初の関数とOEISシーケンスの名前を指定する必要があります。言語のMAX_INT値または256のどちらか大きい方で動作が疑わしくなっても問題ありません。

強盗

新しいプログラムがOEISから他のシーケンスを出力するように、Copの提出物から文字を削除します。新しいOEISシーケンスの名前とともに新しい関数を提供します。ここにあなたの提出物が有効であることを確認するためのユーティリティがあります(つまり、おかしなビジネスなしに文字を削除します。シーケンス自体はチェックしません)。

警官の提出物からできるだけ多くのキャラクターを削除することがあなたの最善の利益です。別の強盗(元のプログラムを作成した警官を除く誰も)がやって来て、別の異なるシーケンスを見つけるより短い解決策を見つけた場合、その強盗はあなたのポイントを盗みます。(単にゴルフをして同じシーケンスを印刷するだけではポイントを盗むのに十分ではないことに注意してください。)

ルールとスコア

1週間が経過してもソリューションを解読できなかった場合は、2番目のプログラムとそれが生成するシーケンスの名前を提供することで、ソリューションに安全のマークを付けることができます。

安全な投稿ごとに1ポイント、クラックした投稿ごとに1ポイントを獲得できます。警官はクラックされた提出ごとに1/2ポイントを失います。別の強盗が、異なるシーケンスを生成する短いプログラムを提供することにより、いつでもクラックされた提出からあなたのポイントを盗むことができることに注意してください。

警官は、1人の言語につき1つのチャレンジのみを投稿できます。

7月7日のUTC 12:00に最も多くのポイントを獲得したプレイヤーが勝利します。



1
この課題は非常に似ています。ハンマーで叩くつもりはありませんが、これはおそらく複製です。
FryAmTheEggman 2017年

1
@FryAmTheEggmanああ、見なかった。ハミング距離= /削除であり、強盗は意図しない答えを見つける余地がはるかに多いため、それはまったくのまねではないと思いますが、私が望むよりも似ています。
vroomfondel 2017年

1
ありがとう、@ rogaos。それは私が最初の質問に期待した答えでしたので、心配はありません。警官のためにいくつかのアイデアを手に入れました。うまくいけば、朝に数分かけて仕事を進めるでしょう。
Shaggy

3
ゴルフとレベンシュタインの距離の違いは、これを大きく変えていると思います。警官は、劇的に異なる潜在的なソリューションを検討する必要があります。
Nathan Merrill

回答:



1

C、A000217、239バイトクラック

これははないので、気にしませんでした。

#include <stdio.h>
#include <limits.h>
int main()
{
    int i, n, temp = 0;
    for(i = 0; i < INT_MAX; i++)
    {
        n = 0;
        temp = i;
        while(temp)
            n+=temp--;
        printf("%d, ", n);
    }
    return 0;
}

シーケンス:https : //oeis.org/A000217


1
@rogaosこのコードからクラックされたものは一定ではありません(少なくとも、私が認識しているもの)
Govind Parmar

強盗の便宜のためにバイトで編集されました。
スティーブン


@rogaos私はこれを一定にすることで私のものよりもクラックされる可能性があると思いますが、定数ではない方が面白いと思うので、定数ルールの例外ではないように投票します
nmjcman101

1
Govindが定数であるように意図していなかったので、@ nmjcman101は十分に公平です。上記のコメントを削除します。
vroomfondel 2017年

1

Python 2、273バイト、クラック

初期シーケンス:A004442

import zlib, base64;exec(zlib.decompress(base64.b64decode('eJzLtDUAAAHoANc=')))
while True:print eval(zlib.decompress(base64.b64decode('eJwzAgAAMwAz')))^eval(zlib.decompress(base64.b64decode('eJwzjssEAAHBAPs='))),;exec(zlib.decompress(base64.b64decode('eJzL1LY1BAAC1AED')))

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



2
メガクラック(私は思う)
スティーブン

1

MOO、86バイト、安全

a=0;b=1;while(a>-1)a=$math_utils:sum(a,a);a=max(1,a);notify(player,tostr(a));endwhile

2の累乗を出力します(A000079)。

解決:

a = 1; while(a> -1)a = $ math_utils:sum(a、a、a); notify(player、tostr(a)); endwhile(代わりに3の累乗(A000244)を出力します)


0

PHP、20バイトクラック

for(;;)echo+!$i,",";

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

印刷シーケンスhttps://oeis.org/A000012


元のバージョンは、このバージョンをクラックします。
vroomfondel 2017年


最初の解決策はありましたか?その場合は、ロールバックする必要があります。
vroomfondel 2017年

1
@rogaos、私は現在のバージョンが変更されたことに気付かずにクラックしました。ロールバックすると混乱が発生します。
Peter Taylor

1
@rogaosあなたは一定の値を返すシーケンス禁止すべきである
イェルクHülsermann

0

cQuents(古いコミット)、10バイト、クラック

=0,1,1:z+y

これはまだWIPの言語ですが、インタープリターにパッチを適用して機能しました。Githubリンクの言語名をクリックします。

これはフィボナッチ列を出力します:A000045

説明:

(私はドキュメントを持っていないので、あなたが私のインタープリターコードを読むことを期待していません)

=0,1,1      Set start to [0,1,1]
      :     Mode: sequence
       z+y  Each term is the previous two terms added together
            Because there is no input, output the whole sequence

一定のシーケンスがまだ許可されている場合、これは非常に簡単に奪うでしょう。



この言語はすばらしい
vroomfondel 2017年

@rogaosまだ完了していませんが、近づいていませんが、感謝します:)
Stephen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.