ลำดับการขโมย: ตำรวจ


10

นี่คือตำรวจและโจรนี่คือด้ายตำรวจ สำหรับหัวข้อโจรไปที่นี่

ฉันสังเกตเห็นความท้าทาย OEIS (สารานุกรมออนไลน์ของลำดับจำนวนเต็ม) ตั้งแต่ฉันเข้าร่วมไซต์ ดูเหมือนว่ายุติธรรมเท่านั้นที่เรามีความท้าทายตำรวจและโจรที่กำหนดว่าใครคือผู้ที่มีความสำคัญในลำดับเลขจำนวนเต็มออนไลน์ทุกครั้ง

แก้ไข: เพื่อป้องกันคำตอบเล็กน้อยตำรวจสูญเสีย 1/2 คะแนนสำหรับการส่งแต่ละครั้งที่มีการถอดรหัส นอกจากนี้สำหรับจุดประสงค์ของการท้าทายนี้จะไม่อนุญาตให้ใช้ลำดับที่คงที่ ใช้กับโซลูชันที่โพสต์หลังจากแก้ไขนี้เท่านั้น

ตำรวจ

เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับไม่มีการป้อนข้อมูล deterministically พิมพ์ลำดับใด ๆ จากOEIS โดยการลบชุดย่อยของอักขระโปรแกรมของคุณจะต้องสามารถพิมพ์ลำดับ OEIS ที่แตกต่างกันเมื่อทำงานในภาษาเดียวกัน ลำดับใหม่จะต้องใหม่ทั้งหมดไม่ใช่แค่ชื่อแรกด้วยชื่ออื่นหรือออฟเซ็ตต่างกัน ทั้งลำดับอาจเป็นเพียงค่าคงที่ซ้ำแล้วซ้ำอีก

คุณต้องจัดเตรียมฟังก์ชันแรกพร้อมกับชื่อของลำดับ OEIS เพื่อให้สามารถตรวจสอบความถูกต้องได้ ไม่เป็นไรถ้าพฤติกรรมมีปัญหากับค่า MAX_INT ในภาษาของคุณหรือ 256 สิ่งใดที่ใหญ่กว่า

โจร

ลบตัวละครออกจากการส่งของ Cop บางตัวเพื่อให้โปรแกรมใหม่ของคุณออกลำดับอื่น ๆ จาก OEIS จัดเตรียมฟังก์ชันใหม่พร้อมกับชื่อของลำดับ OEIS ใหม่ นี่คือยูทิลิตี้เพื่อให้แน่ใจว่าการส่งของคุณถูกต้อง (เช่นลบตัวอักษรโดยไม่มีธุรกิจที่ตลก ๆ อย่าตรวจสอบลำดับตัวเอง)

คุณควรลบตัวละครหลาย ๆ ตัวออกจากการส่งของ Cop ที่สุดเท่าที่จะทำได้ หากโจรคนอื่น (ใครก็ตามยกเว้นตำรวจที่เป็นผู้เขียนโปรแกรมต้นฉบับ) เข้ามาและพบทางออกที่สั้นกว่าที่พบลำดับที่แตกต่างกันโจรคนนั้นขโมยจุดของคุณ (โปรดทราบว่าเพียงแค่ตีกอล์ฟตัวละครและพิมพ์ลำดับเดียวกันนั้นไม่เพียงพอที่จะขโมยคะแนน)

กฎและเกณฑ์การให้คะแนน

หากหลังจากผ่านไปหนึ่งสัปดาห์ไม่มีใครสามารถแก้ไขปัญหาของคุณได้คุณสามารถทำเครื่องหมายโซลูชันของคุณว่าปลอดภัยโดยการจัดเตรียมโปรแกรมที่สองพร้อมกับชื่อของลำดับที่สร้างขึ้น

คุณจะได้รับหนึ่งจุดสำหรับการโพสต์ที่ปลอดภัยและหนึ่งจุดสำหรับการส่งแต่ละครั้งที่คุณแตก ตำรวจสูญเสีย 1/2 แต้มสำหรับการส่งแต่ละรอยร้าว โปรดทราบว่าโจรอีกคนสามารถขโมยคะแนนของคุณจากการส่งรอยร้าวได้ทุกเวลาโดยจัดให้มีโปรแกรมที่สั้นกว่าซึ่งให้ลำดับที่แตกต่างกัน

ตำรวจอาจโพสต์หนึ่งความท้าทายต่อภาษาต่อคน

ผู้เล่นที่มีคะแนนมากที่สุดเวลา 12:00 UTC วันที่ 7 กรกฎาคมชนะ



1
ความท้าทายนี้คล้ายกันมาก ฉันจะไม่จับค้อนมัน แต่ฉันคิดว่านี่น่าจะซ้ำกัน
FryAmTheEggman

1
@FryAmTheEggman อ่าไม่เห็นว่า ฉันไม่คิดว่ามันเป็นเรื่องล่อลวงนักเพราะการแฮ็กทางไกล = / การลบและโจรมีระยะทางมากขึ้นในการหาคำตอบที่ไม่ได้ตั้งใจ แต่มันก็คล้ายกันมากกว่าที่ฉันต้องการ
vroomfondel

1
ขอบคุณ @rogaos นั่นคือคำตอบที่ฉันคาดไว้สำหรับคำถามแรกดังนั้นไม่ต้องกังวล มีแนวคิดสองสามอย่างสำหรับตำรวจหวังว่าฉันจะใช้เวลาสองสามนาทีในตอนเช้าเพื่อทำงานให้เสร็จ
Shaggy

3
ฉันคิดว่าการตีกอล์ฟกับระยะทาง Levenstein ทำให้สิ่งนี้แตกต่างอย่างมาก ตำรวจต้องพิจารณาวิธีแก้ปัญหาที่มีศักยภาพแตกต่างกันอย่างมาก
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

แก้ไขเป็นไบต์เพื่อความสะดวกของผู้ปล้น
Stephen


@rogaos ฉันคิดว่าสิ่งนี้อาจแตกได้ดีกว่าของฉันโดยทำให้คงที่ แต่ฉันคิดว่ามันน่าสนใจกว่าที่จะไม่คงที่ดังนั้นฉันจะลงคะแนนให้สิ่งนี้เพื่อไม่ให้เป็นข้อยกเว้นของกฎคงที่
nmjcman101

1
@ nmjcman101 ยุติธรรมพอเพราะ Govind ไม่ได้ตั้งใจให้มันคงที่ การลบความคิดเห็นของฉันด้านบน
vroomfondel

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
mega cracked (ฉันคิดว่า)
Stephen

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

พิมพ์พลังของสอง (A000079)

สารละลาย:

a = 1; ในขณะที่ (a> -1) a = $ math_utils: sum (a, a, a); แจ้งเตือน (ผู้เล่น tostr (a)); endwhile (ซึ่งพิมพ์พลังของ 3 (A000244) แทน)


0

PHP , 20 ไบต์แตกแล้ว

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

ลองออนไลน์!

ลำดับการพิมพ์https://oeis.org/A000012


เวอร์ชันดั้งเดิมของคุณแตกเวอร์ชันนี้
vroomfondel


คุณมีทางออกสำหรับคนแรกหรือไม่? ถ้าเป็นเช่นนั้นคุณควรย้อนกลับ
vroomfondel

1
@rogaos ฉันแตกรุ่นปัจจุบันโดยไม่เห็นว่ามันเปลี่ยนไป การย้อนกลับจะทำให้เกิดความยุ่งเหยิง
Peter Taylor

1
@rogaos คุณควรห้ามลำดับที่คืนค่าคงที่
JörgHülsermann

0

cQuents (เก่ากว่าส่ง) 10 ไบต์แตก

=0,1,1:z+y

นี่ยังคงเป็นภาษา WIP ที่หนักหน่วง แต่ฉันได้ทำการแปลล่ามให้ดีขึ้นดังนั้นมันจึงใช้ได้ คลิกชื่อภาษาสำหรับลิงค์ Github

สิ่งนี้จะส่งออกลำดับ Fibonnacci: 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

@rogaos ก็ยังไม่ได้ทำที่ไหนเลยใกล้ แต่ต้องขอบคุณ :)
สตีเฟ่น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.