ย้อนกลับรหัสของคุณย้อนกลับ OEIS


12

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

ทีนี้เพื่อป้องกันไม่ให้สิ่งเล็ก ๆ น้อย ๆ ทั้งเลขตัว OEIS และโปรแกรมของคุณไม่สามารถเป็น palindromes นั่นคือลำดับและโปรแกรมควรแตกต่างกัน คุณไม่สามารถเลือกลำดับที่ไม่มีการย้อนกลับหรือว่างเปล่า

สำหรับแต่ละลำดับของคุณคุณอาจเลือกที่จะใช้การจัดทำดัชนี 0 หรือ 1 พวกเขาไม่จำเป็นต้องใช้การจัดทำดัชนีเดียวกัน เนื่องจากลำดับของ OEIS บางตัวมีโดเมนที่ จำกัด คุณจึงต้องส่งออกเฉพาะหมายเลขที่ถูกต้องสำหรับโดเมนของลำดับนั้น พฤติกรรมที่ต้องการของคุณนั้นไม่ได้กำหนดนอกโดเมน (คุณสามารถส่งออก0, ขัดข้อง, สั่งพิซซ่า ฯลฯ )

นี่คือดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า


เลขศูนย์นำหน้าจะรวมอยู่ในการกลับหมายเลขลำดับหรือไม่
pppery

1
@ คุณสมบัติพวกเขาจะต้องเป็นเพราะตัวเลข OEIS มี 6 หลัก (มันยังบอกอย่างชัดเจนในคำถาม)
Jo King

เราสามารถรับอินพุต (ดัชนี) เป็นสตริงได้หรือไม่?
TFeld

คำตอบ:



4

Perl 6 , 55 ไบต์ (A055642 และ A246550)

+*.comb#}]1-_$[)4+_$^**X]_$^[)*..2,emirp-si&(perg(tros{

ลองออนไลน์!

นี่คือนิรนามอะไรก็ตามแลมบ์ดาที่ดำเนินการตามลำดับ OEIS A055642 (ความยาวของการแทนทศนิยมของ ) 0-indexedn

{sort(grep(&is-prime,2..*)[^$_]X**^$_+4)[$_-1]}#bmoc.*+

ลองออนไลน์!

ด้านหลังเป็นลำดับA246550 (รายการสั่งของโดยที่เป็นตัวหลักและ ) ทำดัชนี 1 รายการxexe4

ความท้าทายนี้ส่วนใหญ่เป็นเพียงการหาลำดับที่ดีด้วยการย้อนกลับที่ไม่ซับซ้อนเกินไป

อัปเดต: ใช้คำตอบของ torcadoสามารถมีขนาด 19 ไบต์ (A010851 และ A158010)

{256*$_**2-$_}#{21}

ลองออนไลน์!


2

\ / \ /> , 15 14 ไบต์ ( A010851และA158010 )

cn;n*-1*"Ā":j

อย่างมีประสิทธิภาพcnเอาต์พุต 12

j:"Ā"*1-*n;nc

อย่างมีประสิทธิภาพj:"Ā"*1-*n, n (256n-1)

ขอบคุณเพื่อนที่ค้นหาลำดับง่าย ๆ อย่างไม่น่าเชื่อ!


1

Haskell, 47 ไบต์ ( A000010และA010000 )

ลำดับทั้งสองนั้นค่อนข้างง่าย

p n=sum[1|x<-[1..n],gcd x n<2]--2+n*n=n p;1=0 p

ลองออนไลน์!

p n = ฟังก์ชัน Totient ออยเลอร์ของ n (A000010) (ทำดัชนี 1 รายการ)

ย้อนกลับ

p 0=1;p n=n*n+2--]2<n x dcg,]n..1[-<x|1[mus=n p

ลองออนไลน์!

p n = 1 ถ้า n = 0 มิฉะนั้น n ^ 2 + 2

มันน่าสนใจที่จะเห็นคำตอบที่ไม่ได้ใช้ความคิดเห็น ...


1

Python 2 , 59 ไบต์ (A030000 และ A000030)

f=lambda n,k=0:k if`n`in`2**k`else f(n,k+1)#]0[`n`:n adbmal

ลองออนไลน์!

fk2kn

lambda n:`n`[0]#)1+k,n(f esle`k**2`ni`n`fi k:0=k,n adbmal=f

ลองออนไลน์!

n


เวอร์ชันที่สั้นลงซึ่งใช้สตริงเป็นอินพุต (สำหรับทั้งสองซีเควนซ์) และทั้งคู่ยังคงทำดัชนี 0:

Python 2 , 56 ไบต์

f=lambda n,k=0:`k`*(n in`2**k`)or f(n,k+1)#]0[n:n adbmal

ลองออนไลน์!

lambda n:n[0]#)1+k,n(f ro)`k**2`ni n(*`k`:0=k,n adbmal=f

ลองออนไลน์!

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