Mencuri urutan: Polisi

10

Ini . Ini adalah utas Polisi . Untuk utas perampok, buka di sini .

Saya telah memperhatikan sejumlah tantangan OEIS (On-line Encyclopedia of Integer Sequences) sejak saya bergabung dengan situs ini. Tampaknya adil jika kita memiliki tantangan polisi dan perampok yang menentukan siapa yang menguasai urutan bilangan bulat online, sekali dan untuk semua.

Sunting: Untuk mencegah jawaban sepele, polisi kehilangan 1/2 poin untuk setiap kiriman yang di-crack. Selain itu, untuk keperluan tantangan ini, urutan konstan tidak diperbolehkan. Ini hanya berlaku untuk solusi yang diposting setelah pengeditan ini.

Polisi

Tulis program atau fungsi yang, tanpa input, secara deterministik mencetak urutan apa pun dari OEIS . Dengan menghapus beberapa himpunan bagian dari karakter, program Anda harus dapat mencetak urutan OEIS yang berbeda ketika dijalankan dalam bahasa yang sama. Urutan baru harus sepenuhnya baru, bukan hanya yang pertama dengan nama yang berbeda atau dengan offset yang berbeda. Tidak ada urutan yang mungkin hanya merupakan nilai konstan berulang.

Anda harus memberikan fungsi pertama, bersama dengan nama urutan OEIS sehingga kebenaran dapat diverifikasi. Tidak masalah jika perilaku dipertanyakan di sekitar nilai MAX_INT atau 256 bahasa Anda, mana yang lebih besar.

Perampok

Hapus karakter dari beberapa pengiriman Cop sehingga program baru Anda mengeluarkan urutan lain dari OEIS. Berikan fungsi baru bersama dengan nama urutan OEIS baru. Ini adalah utilitas untuk memastikan bahwa kiriman Anda valid (mis. Menghapus karakter tanpa bisnis lucu. Tidak memeriksa urutannya sendiri.)

Adalah kepentingan terbaik Anda untuk menghapus sebanyak mungkin karakter dari kiriman Cop. Jika perampok lain (siapa pun kecuali Cop yang menulis program aslinya) datang dan menemukan solusi yang lebih pendek yang menemukan urutan berbeda , perampok itu mencuri poin Anda. (Perhatikan bahwa hanya bermain karakter dan mencetak urutan yang sama tidak cukup untuk mencuri poin.)

Aturan & Pemberian Skor

Jika, setelah satu minggu, tidak ada yang bisa memecahkan solusi Anda, Anda dapat menandai solusi Anda dengan aman dengan menyediakan program kedua bersama dengan nama urutan yang dihasilkannya.

Anda mendapatkan satu poin untuk setiap postingan aman dan satu poin untuk setiap kiriman yang Anda crack. Polisi kehilangan 1/2 poin untuk setiap pengiriman yang retak. Perhatikan bahwa perampok lain dapat mencuri poin Anda dari pengiriman yang retak kapan saja dengan menyediakan program yang lebih pendek yang menghasilkan urutan yang berbeda.

Polisi hanya dapat memposting satu tantangan per bahasa, per orang.

Pemain dengan poin terbanyak pada pukul 12:00 UTC pada 7 Juli menang.

vroomfondel
sumber
Posting Sandbox: codegolf.meta.stackexchange.com/a/13042/66460
vroomfondel
1
Tantangan ini sangat mirip. Saya tidak akan menipu palu, tapi saya pikir ini mungkin duplikat.
FryAmTheEggman
1
@FryAmTheEggman ah, tidak melihat itu. Saya tidak berpikir itu cukup menipu karena jarak hamming = / penghapusan dan perampok memiliki lebih banyak peluang untuk menemukan jawaban yang tidak diinginkan, tetapi lebih mirip daripada yang saya inginkan.
vroomfondel
1
Terima kasih, @rogaos. Itulah jawaban yang saya harapkan untuk pertanyaan pertama sehingga tidak perlu khawatir. Ada beberapa ide untuk Polisi, semoga saya akan mendapatkan beberapa menit di pagi hari untuk menyelesaikannya.
Shaggy
3
Saya pikir jarak bermain golf vs Levenstein membuat ini sangat berbeda. Polisi harus mempertimbangkan solusi potensial yang berbeda secara drastis.
Nathan Merrill

Jawaban:

1

C, A000217, 239 byte Retak

Ini bukan jadi saya tidak repot-repot.

#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;
}

Urutan: https://oeis.org/A000217

Govind Parmar
sumber
1
@rogaos Yang dipecahkan dari kode ini tidak konstan (setidaknya, yang saya tahu)
Govind Parmar
Diedit dalam byte untuk kenyamanan perampok.
Stephen
1
retak?
nmjcman101
@rogaos Saya pikir ini bisa dipecahkan lebih baik daripada milik saya dengan membuatnya konstan, tapi saya pikir ini lebih menarik untuk menjadi non-konstan, jadi saya akan memilih ini untuk tidak menjadi pengecualian pada aturan konstan
nmjcman101
1
@ nmjcman101 cukup adil, karena Govind tidak bermaksud konstan. Menghapus komentar saya di atas.
vroomfondel
1

Python 2, 273 byte, retak

Urutan Awal: 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')))

Cobalah online!

juniorRubyist
sumber
cracked
nore
2
mega crack (saya pikir)
Stephen
1

MOO, 86 byte, aman

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

Mencetak kekuatan dua (A000079).

Larutan:

a = 1; sementara (a> -1) a = $ math_utils: sum (a, a, a); beri tahu (pemain, tostr (a)); endwhile (yang mencetak kekuatan 3 (A000244) sebagai gantinya)

pppery
sumber
0

PHP , 20 byte Retak

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

Cobalah online!

urutan cetak https://oeis.org/A000012

Jörg Hülsermann
sumber
Versi asli Anda memecahkan versi ini.
vroomfondel
Cracked
Peter Taylor
Apakah Anda memiliki solusi dalam pikiran untuk yang pertama? Jika demikian, Anda harus memutar kembali.
vroomfondel
1
@rogaos, saya memecahkan versi saat ini tanpa melihat bahwa itu telah berubah. Berguling kembali akan menyebabkan kekacauan.
Peter Taylor
1
@rogaos Anda harus mencekal urutan yang mengembalikan nilai konstan
Jörg Hülsermann
0

cQuents (commit lebih lama), 10 byte, di- crack

=0,1,1:z+y

Ini masih merupakan bahasa WIP yang berat, tetapi saya menambal penerjemah sehingga berhasil. Klik nama bahasa untuk tautan Github.

Ini menghasilkan urutan Fibonnacci: A000045

Penjelasan:

(karena saya tidak punya dokumentasi dan saya tidak berharap Anda membaca kode juru bahasa saya)

=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

Jika urutan konstan masih diizinkan, ini akan sangat mudah dirampok.

Stephen
sumber
retak
Leaky Nun
Bahasa ini luar biasa
vroomfondel
@rogaos belum selesai, tidak ada yang dekat, tapi terima kasih :)
Stephen